读书人

用webbrowser控件操作网页上的table表

发布时间: 2012-05-22 18:18:54 作者: rapoo

用webbrowser控件操作网页上的table表出现问题?
情况是这样,网页上有table表,代码如下:

HTML code
<ELEMENT:newcontrol style="" onproper="PreNextFlashRownum()" id="page1" tablist="tabList1" />        <TABLE id="tabList1" class="TabList" pagecontrol="page1" cellPadding="0" cellSpacing="0" frame="box" border="1" borderColorLight="silver" borderColorDark="white" style="width:98%;">            <tr class="TabListTitle" align="center">                <TH type="single"></TH>                         <TH fieldname="XM"       enableorder="1">aa</TH>                           <TH fieldname="ZJHM"     enableorder="1">bb</TH>                         <TH fieldname="GXDWDM"   enableorder="1" maxlength="20">cc</TH>                         <TH fieldname="BJZDRYXL"   enableorder="1" maxlength="20">dd</TH>                         <TH fieldname="ZDRYXL"   enableorder="1" maxlength="20">ee</TH>                         <TH fieldname="BSSYXX"     enableorder="1">hh</TH>                          <TH fieldname="XSBS"     enableorder="1">gg</TH>            </tr>       </TABLE>


我想用webbrowser控件实现鼠标单击第一行数据的操作,代码该如何写?(因为单击这个表中的任何一行数据会进入相应的详细信息!我要通过webbrowser控件自动实现这个操作。)

网页代码中有相应的行单击事件,是JS:
JScript code
//行选中事件function tr_click(obj,flag){   if(typeof(flag)=="undefined") flag = true;  var listId = obj.parentElement.parentElement.id;  if(listId == "tabList1"){          tabList2.cancelSelect();       obj.cells[0].firstChild.checked = true;       setValueByPages(obj,[1]);       document.getElementById("ZY").value = "";       document.getElementById("ZY").code = "";       document.getElementById("SJSR").value = "";       document.getElementById("SJSR").code = "";       document.getElementById("JJLY").value = "";       document.getElementById("JJLY").code = "";       document.getElementById("ZDRY_ZJHM").value = obj.ZJHM;       g_bAlertWhenNoResult = false ;       doSearchXsxx(obj.ZJHM);       doSetLastValue(obj.ZJHM);       document.getElementById("SFJDBR").value="";       document.getElementById("SFJDBR").code="";       g_bAlertWhenNoResult = true ;       getGzdxjbxx(obj.ZJHM);       document.getElementById("XNSFXX").disabled = true;       document.getElementById("zklx1").style.display = "none";       document.getElementById("ZKLX").must="false";       document.getElementById("LKSJ").disabled=true;       document.getElementById("QWSS").disabled=true;       document.getElementById("ZYYX").disabled=true;       var xp_value = document.getElementById("XP").value;       if(xp_value == ""){         getZdryZp(obj.ZJLX,obj.ZJHM);       }       if(flag)       g_xTabPane.setSelectedIndex(1);       inBtns(["cmdSave","cmdVerify"]);      }   

应该可以用invokscript直接执行这个事件,但是obj和flag两个参数不知该如何加入,请指教。

[解决办法]
'获取当前鼠标点击的元素
Dim document As IHTMLDocument2 = CType(Webhtml.Document.DomDocument, IHTMLDocument2)
Select Case document.selection.type.ToLower
Case "control"


Dim range As IHTMLControlRange = CType(document.selection.createRange, IHTMLControlRange)
Select Case range.item(0).tagName.ToLower
Case "table"
'选择的是表格.

读书人网 >VB Dotnet

热点推荐