winform中使用WEBBROWSER的问题 在一个窗体中加入webbrowser,然后新增一个HTML页面,在HTML页面上加入一个TABLE,问题是,我怎么把数据库里的数据显示在TABLE中,比如我在数据库A中有表NOTE,字段为TITLE,TEXT,我想在HTML的TABLE里显示它们的值。应该用什么语句连接和显示呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个。用字符串画好生成html文件,然后把webbrowser指向html吧,我有弄过这个,没想到其他的好方法,随便学习。 winfrom中增加一个browser控件,你可以理解为一个浏览器,如果是静态网页应该也可以打开,但是需要跟数据库通信,还是需要动态网页来做,那网页就需要是部署在web服务器上的。 写过 js 操作 html 文档没?如果写过, 用 C# 同样可以完成.加载那个空的包含 table 的页面后,使用 webbrowser 控件可以拿到 HtmlDocument.使用 mshtml 就可以操控 html DOM 了.下面是一段相关的例子: private void testHtmlTable() { IHTMLTable table = htmlEditor1.HtmlDocument2.CreateElement("table") as IHTMLTable; table.align = "center"; table.bgColor = "ghostwhite"; table.border = "2"; table.borderColor = "lightblue"; table.width = "100%"; table.height = "80%"; table.cellPadding = 4; table.cellSpacing = 2; IHTMLTableRow row = table.insertRow(-1) as IHTMLTableRow; row.vAlign = "middle"; IHTMLTableCell cell = row.insertCell(-1) as IHTMLTableCell; cell.align = "right"; cell.width = "40%"; (cell as IHTMLElement).innerText = "cell 1"; IHTMLTableRow row2 = table.insertRow(-1) as IHTMLTableRow; row2.vAlign = "bottom"; IHTMLTableCell cell2 = row2.insertCell(-1) as IHTMLTableCell; cell2.align = "left"; cell2.width = "60%"; //(cell2 as IHTMLElement).innerText = "cell 2"; IHTMLDOMNode cell2Node = cell2 as IHTMLDOMNode; IHTMLDOMNode spanNode = cell2Node.childNodes.item(0) as IHTMLDOMNode; (spanNode as IHTMLElement3).contentEditable = "false"; IHTMLTable2 table2 = table as IHTMLTable2; IHTMLTableRow movedRow = table2.moveRow(0, 1) as IHTMLTableRow; IHTMLTable3 table3 = table as IHTMLTable3; table3.summary = "summary for table"; IHTMLDocument2 doc = this.htmlEditor1.HtmlDocument2; IHTMLElement body = doc.GetBody(); IHTMLDOMNode rootNode = body as IHTMLDOMNode; rootNode.appendChild(table as IHTMLDOMNode); string html = (table as IHTMLElement).outerHTML; MessageBox.Show(html); } 新手求助 C#如何删除TreeView控件选中结点图标 请进,,问个弱质的问题 求microsoftreportviewer实例! datagridview添加行问题 关于C#调用C++动态库问题。 程序员考试通过!散分!!! 关于 c# 的 winForm中用到msflexgrid com组件问题,没人遇到过吗??? 大家一起探讨一下C#应用程序的效率。 急问!!如何在一个项目里面添加另外已有的窗体??? 请问下关于VS中清理控件代码问题 求教回调函数的使用方法,最好能有简单的事例代码
如果是静态网页应该也可以打开,但是需要跟数据库通信,还是需要动态网页来做,那网页就需要是部署在web服务器上的。
如果写过, 用 C# 同样可以完成.加载那个空的包含 table 的页面后,
使用 webbrowser 控件可以拿到 HtmlDocument.使用 mshtml 就可以操控 html DOM 了.下面是一段相关的例子:
private void testHtmlTable()
{
IHTMLTable table = htmlEditor1.HtmlDocument2.CreateElement("table") as IHTMLTable;
table.align = "center";
table.bgColor = "ghostwhite";
table.border = "2";
table.borderColor = "lightblue";
table.width = "100%";
table.height = "80%";
table.cellPadding = 4;
table.cellSpacing = 2; IHTMLTableRow row = table.insertRow(-1) as IHTMLTableRow;
row.vAlign = "middle"; IHTMLTableCell cell = row.insertCell(-1) as IHTMLTableCell;
cell.align = "right";
cell.width = "40%";
(cell as IHTMLElement).innerText = "cell 1"; IHTMLTableRow row2 = table.insertRow(-1) as IHTMLTableRow;
row2.vAlign = "bottom"; IHTMLTableCell cell2 = row2.insertCell(-1) as IHTMLTableCell;
cell2.align = "left";
cell2.width = "60%";
//(cell2 as IHTMLElement).innerText = "cell 2";
IHTMLDOMNode cell2Node = cell2 as IHTMLDOMNode;
IHTMLDOMNode spanNode = cell2Node.childNodes.item(0) as IHTMLDOMNode;
(spanNode as IHTMLElement3).contentEditable = "false"; IHTMLTable2 table2 = table as IHTMLTable2;
IHTMLTableRow movedRow = table2.moveRow(0, 1) as IHTMLTableRow; IHTMLTable3 table3 = table as IHTMLTable3;
table3.summary = "summary for table"; IHTMLDocument2 doc = this.htmlEditor1.HtmlDocument2;
IHTMLElement body = doc.GetBody();
IHTMLDOMNode rootNode = body as IHTMLDOMNode;
rootNode.appendChild(table as IHTMLDOMNode); string html = (table as IHTMLElement).outerHTML;
MessageBox.Show(html);
}