新手求助数据列表控件问题 多行多列貌似可以用datagridview 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 表格控件有很多种,vs winform工程里自带的有datagridview,web工程有datagrid和table也可以使用webbrowser用winform工程加载web控件或者用wpf或者第三方表格控件用什么控件跟你数据从哪里来的没有任何关系 嗯,我试试datagridview,可是如果想美观一点呢? 排列方式大概是这样的titleA 1 titleB 2 titleC 3titleD 4 titleE 5 titleF 6titleG 7 你知道什么是表格吗目测你这东西根本不是什么表格自己代码生成一些label排列一下好了 用datagridview ,自己在后台拼接列来显示你想要的效果呢 显示XML文件的数据控件//使用GridView控件显示XML数据<asp:GridView ID="gvTitle" runat="server" AutoGenerateColumns="False" Font-Names="Tahoma" Width="100%" DataKeyNames="ID" ShowHeader="False"> <HeaderStyle Font-Names="Tahoma" HorizontalAlign="Center" /> <RowStyle BorderColor="#DAEEEE" BorderStyle="Ridge" BorderWidth="1px" HorizontalAlign="Center" /> <Columns> <asp:TemplateField> <ItemTemplate> <table class="Table" width="100%" border="0"> <tr> <td bgcolor="Gray"><font color="white"><a href="AddReply.aspx?TitleID=<%# Eval("TitleID") %>"><font color="white">[回复文章]</font></a> <font color="white">[本篇作者:<%# Eval("UserName") %>]</font> </td> </tr> <tr> <td>发帖人:<%# Eval("UserName") %>,所属区域:<%# Eval("BoardName")%> </td> </tr> <tr> <td>标 题:回复:<%=Name %> </td> </tr> <tr> <td>发信站:MRSOFTASPNET-XMLBBS(<%# Eval("CreateDate") %>),站内 </td> </tr> <tr> <td><br /> <%# Eval("Body").ToString().Replace("\n","<br>") %><br /> </td> </tr> <tr> <td><hr size="1" width="98%" /></td> </tr> </table> </ItemTemplate> <ItemStyle Width="100%" /> </asp:TemplateField> </Columns> </asp:GridView>//调用公共类中的GetData方法,读取XML文件中的数据 private object GetData(DataTable dt,string sColumnName,string dColumnName,string sValue) { DataRow[] rows = dt.Select(sColumnName + "='" + sValue + "'"); if(rows.Length <= 0) return null; return rows[0][dColumnName]; }//codego.net/tags/11/1///实现自定义公共类方法public static DataTable GetData(string path,string tableName,params XmlParamter[] param) { //创建XmlDocument类的实例 XmlDocument xmldoc = new XmlDocument(); //调用XmlDocument类中的Load()方法加载XML文件 xmldoc.Load(path); //创建DataTable类型的变量dt DataTable dt = new DataTable(); ///获取根节点 XmlNode rootNode = xmldoc.SelectSingleNode("/" + tableName + "s"); //判断节点及其子节点是否为空,为空将返空值 if(rootNode == null) return null; if(rootNode.ChildNodes.Count == 0) return null; ///创建保存记录的数据列 foreach(XmlAttribute attr in rootNode.ChildNodes[0].Attributes) { dt.Columns.Add(new DataColumn(attr.Name,typeof(string))); } ///创建获取数据节点的XPath string xmlPath = "/" + tableName + "s/" + tableName; int operationCount = 0; StringBuilder operation = new StringBuilder(); foreach(XmlParamter p in param) { if(p.Direction == ParameterDirection.Insert || p.Direction == ParameterDirection.Update) { continue; } ///创建条件表达式 switch(p.Direction) { case ParameterDirection.Equal: operation.Append("@" + p.Name + "='" + p.Value + "'"); break; case ParameterDirection.NotEqual: operation.Append("@" + p.Name + "<>'" + p.Value + "'"); break; case ParameterDirection.Little: operation.Append("@" + p.Name + "<'" + p.Value + "'"); break; case ParameterDirection.Great: operation.Append("@" + p.Name + ">'" + p.Value + "'"); break; case ParameterDirection.Like: operation.Append("contains(@" + p.Name + ",'" + p.Value + "')"); break; default: break; } operationCount++; operation.Append(" and "); } if(operationCount > 0) { ///修正XPath operation.Remove(operation.Length - 5,5); xmlPath += "[" + operation.ToString() + "]"; } //获取XML节点下的所有节点 XmlNodeList nodeList = xmldoc.SelectNodes(xmlPath); ///遍历所有节点,并添加节点的数据 foreach(XmlNode node in nodeList) { DataRow row = dt.NewRow(); foreach(DataColumn column in dt.Columns) { ///读取每一个属性 row[column.ColumnName] = node.Attributes[column.ColumnName].Value; } dt.Rows.Add(row); } return dt; } 怎么把“高清”转换成“\u6807\u6e05” c# winform 求个方法..数据筛选 来者有分 十六进制与十进制转换问题 c# web屏幕截图 如何从一个窗口跳转到另一个窗口 添加数据 dotmsn 2.0 编程 请问用WebBrowser如何显示地址栏啊? C#创建数组的小问题 最原始的问题,高手帮忙解决一下吧——c#写的控制台怎么样让按回车键程序也不关闭啊,任意键也不关闭,只能关闭按钮关闭,解决马上结贴 请教关于IP地址筛选的问题 异常处理的问题。。。。。。。。。。。。。。。。。。。。
也可以使用webbrowser用winform工程加载web控件
或者用wpf
或者第三方表格控件用什么控件跟你数据从哪里来的没有任何关系
titleA 1 titleB 2 titleC 3
titleD 4 titleE 5 titleF 6
titleG 7
目测你这东西根本不是什么表格
自己代码生成一些label排列一下好了
//使用GridView控件显示XML数据
<asp:GridView ID="gvTitle" runat="server" AutoGenerateColumns="False"
Font-Names="Tahoma" Width="100%" DataKeyNames="ID" ShowHeader="False">
<HeaderStyle Font-Names="Tahoma" HorizontalAlign="Center" />
<RowStyle BorderColor="#DAEEEE" BorderStyle="Ridge" BorderWidth="1px" HorizontalAlign="Center" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table class="Table" width="100%" border="0">
<tr>
<td bgcolor="Gray"><font color="white"><a href="AddReply.aspx?TitleID=<%# Eval("TitleID") %>"><font color="white">[回复文章]</font></a>
<font color="white">[本篇作者:<%# Eval("UserName") %>]</font>
</td>
</tr>
<tr>
<td>发帖人:<%# Eval("UserName") %>,所属区域:<%# Eval("BoardName")%>
</td>
</tr>
<tr>
<td>标 题:回复:<%=Name %>
</td>
</tr>
<tr>
<td>发信站:MRSOFTASPNET-XMLBBS(<%# Eval("CreateDate") %>),站内
</td>
</tr>
<tr>
<td><br /> <%# Eval("Body").ToString().Replace("\n","<br>") %><br />
</td>
</tr>
<tr>
<td><hr size="1" width="98%" /></td>
</tr>
</table>
</ItemTemplate>
<ItemStyle Width="100%" />
</asp:TemplateField>
</Columns>
</asp:GridView>
//调用公共类中的GetData方法,读取XML文件中的数据
private object GetData(DataTable dt,string sColumnName,string dColumnName,string sValue)
{
DataRow[] rows = dt.Select(sColumnName + "='" + sValue + "'");
if(rows.Length <= 0) return null;
return rows[0][dColumnName];
}//codego.net/tags/11/1/
//实现自定义公共类方法
public static DataTable GetData(string path,string tableName,params XmlParamter[] param)
{
//创建XmlDocument类的实例
XmlDocument xmldoc = new XmlDocument();
//调用XmlDocument类中的Load()方法加载XML文件
xmldoc.Load(path);
//创建DataTable类型的变量dt
DataTable dt = new DataTable();
///获取根节点
XmlNode rootNode = xmldoc.SelectSingleNode("/" + tableName + "s");
//判断节点及其子节点是否为空,为空将返空值
if(rootNode == null) return null;
if(rootNode.ChildNodes.Count == 0) return null;
///创建保存记录的数据列
foreach(XmlAttribute attr in rootNode.ChildNodes[0].Attributes)
{
dt.Columns.Add(new DataColumn(attr.Name,typeof(string)));
}
///创建获取数据节点的XPath
string xmlPath = "/" + tableName + "s/" + tableName;
int operationCount = 0;
StringBuilder operation = new StringBuilder();
foreach(XmlParamter p in param)
{
if(p.Direction == ParameterDirection.Insert
|| p.Direction == ParameterDirection.Update)
{
continue;
}
///创建条件表达式
switch(p.Direction)
{
case ParameterDirection.Equal:
operation.Append("@" + p.Name + "='" + p.Value + "'");
break;
case ParameterDirection.NotEqual:
operation.Append("@" + p.Name + "<>'" + p.Value + "'");
break;
case ParameterDirection.Little:
operation.Append("@" + p.Name + "<'" + p.Value + "'");
break;
case ParameterDirection.Great:
operation.Append("@" + p.Name + ">'" + p.Value + "'");
break;
case ParameterDirection.Like:
operation.Append("contains(@" + p.Name + ",'" + p.Value + "')");
break;
default: break;
}
operationCount++;
operation.Append(" and ");
}
if(operationCount > 0)
{ ///修正XPath
operation.Remove(operation.Length - 5,5);
xmlPath += "[" + operation.ToString() + "]";
}
//获取XML节点下的所有节点
XmlNodeList nodeList = xmldoc.SelectNodes(xmlPath);
///遍历所有节点,并添加节点的数据
foreach(XmlNode node in nodeList)
{
DataRow row = dt.NewRow();
foreach(DataColumn column in dt.Columns)
{ ///读取每一个属性
row[column.ColumnName] = node.Attributes[column.ColumnName].Value;
}
dt.Rows.Add(row);
}
return dt;
}