WebBrowser给表格增加删除行

1.修改窗体: \UI\DocInfo\Document.cs

private void menuTableAdd_Click(object sender, EventArgs e)
{
            HtmlEditor.TableAddRow(htmlDesign);
        }

private void menuTableDel_Click(object sender, EventArgs e)
{
            HtmlEditor.TableDeleteRow(htmlDesign);
        }

2.修改类:HtmlEditor.cs

public static void TableAddRow(WebBrowser pWb) {
           
int rowIndex = 0;
            HTMLTable table = GetSelectTable(pWb, ref
rowIndex);
            if (table != null) {
                int colLen =
table.cells.length / table.rows.length;
                HTMLTableRow row =
(HTMLTableRow)table.insertRow(rowIndex);
                for (int i = 0; i
< colLen; i++) {
                    object elCell =
row.insertCell(i);
                    HTMLTableCell cell =
(HTMLTableCell)elCell;
                    cell.innerText =
"";
                }
            }

}
        public static void TableDeleteRow(WebBrowser pWb)
{
            int rowIndex = 0;
            HTMLTable table =
GetSelectTable(pWb, ref rowIndex);
            if (table != null)
{
                table.deleteRow(rowIndex);
            }
       
}

public static HTMLTable GetSelectTable(WebBrowser pWb,ref int
pRowIndex) {
            mshtml.IHTMLDocument2 doc2 =
(mshtml.IHTMLDocument2)pWb.Document.DomDocument;
           
mshtml.IHTMLTxtRange rangeObj =
(mshtml.IHTMLTxtRange)(doc2.selection.createRange());

mshtml.IHTMLElement ele =
rangeObj.parentElement();
            int rowIndex = 0;
            if
(ele != null) {
                for (int i = 0; i < 100; i++)
{
                    if (ele == null) break;
                    if
(ele.tagName.ToLower() == "table") {
                       
break;
                    }
                    if (ele.tagName.ToLower()
== "tr") {
                        HTMLTableRow tr =
(HTMLTableRow)ele;
                        rowIndex =
tr.rowIndex;
                    }
                    ele =
ele.parentElement;
                }
            }
            if (ele
!= null && ele.tagName.ToLower() == "table") {
               
pRowIndex = rowIndex;
                return (HTMLTable)ele;
           
}
            else {
                return null;
           
}
        }

时间: 2024-11-19 20:57:05

WebBrowser给表格增加删除行的相关文章

关于表格——增加删除行,鼠标选定(利用JavaScript)

涉及到的知识点: 1.onmouseover,onmouseout 2.dom getElementByTagName 3.新建节点元素createElement; <!DOCTYPE html><html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=gbk&q

表格增加一行/删除一行

1,点击按钮,表格增加/删除一行,表格可编辑 HTML: <div class="handle_tab_box clearfix"> <button class="removeRow_btn" onclick="delrow()">删除</button> <button class="addRow_btn" onclick="addrow()">增加</

使用文档对象在页面上创建学生信息表。 信息表包括学号、姓名、性别、电子邮件、联系电话、个人主页和联系地址, 信息表内容通过表单输入,提交前先使用正则表达式进行验证,联系地址不能超过20个字符, 每输入一名学生的信息,提交后,表格增加一行,表格不能被选择、复制。

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <!--        描述:使用文档对象在页面上创建学生信息表.        信息表包括学号.姓名.性别.电子邮件.联系电话.个人主页和联系地址,        信息表内容通过表单输入,提交前先使用

jquery 动态增加删除行

最近写程序,碰巧有动态增加删除行,下面就记录一下 html就不写了,也没有什么,直接上核心了 新增行 function addRow(obj){ //获得table一共有多少行,方便追加的时候给序号赋值 var length = $("#grid tr").length; //获得当前是第几行,以便追加的时候,在该行下进行新增,我这里跨的级别比较多,根据实际层级去定义 var current = $(obj).parent().parent().parent().prevAll().l

基于jQuery表格增加删除代码

基于jQuery表格增加删除代码是一款动态增加删减表格行特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div style="width:720px;margin:20px auto;"> <table id="tab11" style="display: none"> <tbody> <tr> <td height="30" align=&

向DataGrid数据表格增加查询搜索框

向DataGrid数据表格增加查询搜索框 效果如下: js代码: $(function(){ var dg = $('#dg').datagrid({ url:"${pageContext.request.contextPath}/OfferServlet",//servlet路径 columns:[[ {field:'offerid',title:'商品ID',width:100}, {field:'offername',title:'商品名称',width:100}, {field

表格增加整行和删除整行

需求: 表格增加整行和删除整行,因为后台数据的特殊性,增加行没有索引. addRow() { if (this.checkBoxData.length > 1 || this.checkBoxData.length < 1) { this.$message.error({ message: "请选择一行进行添加", duration: 2000 }); } else { //因为增加表格没有索引,所以自己做了个 let str = Math.floor(Math.rando

caption,为表格增加标题和摘要

格式: <table summary="***"> <caption>***</caption> <tr> </tr> </table> 注意:摘要是不会在浏览器中显示的,只是增加表格的可读性.标题是描述表格内容,增加在表格上方.

刷连记录的迟到检测---Table表格增加一列值

公司OA新增加了 刷脸记录 ,用于查看自己是否迟到,但是没有什么提醒,于是乎自己写了一个脚本 刷连记录 类似于这样的: 运行脚本后,是这个样子的: 擦,我本月已经迟到了 3次了.... 拖拽 刷脸记录-迟到检测 到Chrome标签栏,点击就可以执行脚本了 脚本内容为: 1 /******************* 2 * FileName : js_刷脸记录 整理.js 3 * Description: 在OA网页 刷脸记录中,执行后可显示 是否迟到. 4 *******************