C# 动态显示ListView
有没有一种方法可以在不知道字段名称的情况下显示ListView?在代码隐藏中,我将数据传递给ListView,但不知道如何显示它,因为我计划对所有表使用此模板 在模板中,类似于C# 动态显示ListView,c#,asp.net,listview,webforms,C#,Asp.net,Listview,Webforms,有没有一种方法可以在不知道字段名称的情况下显示ListView?在代码隐藏中,我将数据传递给ListView,但不知道如何显示它,因为我计划对所有表使用此模板 在模板中,类似于 <tr> foreach( Key in ListView.Keys ) { <th>Key</th> } </tr> foreach( Row in LisView.Rows ) { <tr> f
<tr>
foreach( Key in ListView.Keys )
{
<th>Key</th>
}
</tr>
foreach( Row in LisView.Rows )
{
<tr>
foreach ( Column in Row )
<td>Column</td>
</tr>
}
感谢您的帮助!提前谢谢 这解决了我的问题: HTML 代码
//从数据库填充数据表。
DataTable dt=this.GetData();
//构建HTML字符串。
StringBuilder html=新的StringBuilder();
//桌子开始。
html.Append(“”);
//构建标题行。
html.Append(“”);
foreach(dt.Columns中的DataColumn列)
{
html.Append(“”);
Append(column.ColumnName);
html.Append(“”);
}
html.Append(“”);
//构建数据行。
foreach(数据行中的数据行)
{
html.Append(“”);
foreach(dt.Columns中的DataColumn列)
{
html.Append(“”);
Append(行[column.ColumnName]);
html.Append(“”);
}
html.Append(“”);
}
//桌尾。
html.Append(“”);
//将HTML字符串附加到占位符。
占位符1.Controls.Add(新文本{Text=html.ToString()});
找到了更好的方法:
Html
my
all(“Users”)
函数返回DataTable
如果使用自动生成列设置为true的GridView
,也将解决此问题。
----------------------------
| id | name | surname |
----------------------------
| 1 | John | Doe |
| 2 | Jack | Jones |
| 3 | Mary | Williams |
| 4 | Sue | Smith |
<asp:PlaceHolder ID = "PlaceHolder1" runat="server" />
using System.Data;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
//Populating a DataTable from database.
DataTable dt = this.GetData();
//Building an HTML string.
StringBuilder html = new StringBuilder();
//Table start.
html.Append("<table border = '1'>");
//Building the Header row.
html.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
html.Append("<th>");
html.Append(column.ColumnName);
html.Append("</th>");
}
html.Append("</tr>");
//Building the Data rows.
foreach (DataRow row in dt.Rows)
{
html.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
html.Append("<td>");
html.Append(row[column.ColumnName]);
html.Append("</td>");
}
html.Append("</tr>");
}
//Table end.
html.Append("</table>");
//Append the HTML string to Placeholder.
PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() });
<asp:Table ID="testTable" runat="server" />
TableRow tHeaderRow = new TableHeaderRow();
tHeaderRow.TableSection = TableRowSection.TableHeader;
testTable.Rows.Add(tHeaderRow);
foreach (DataColumn column in all("Users").Columns)
{
TableHeaderCell tHeaderCell = new TableHeaderCell();
tHeaderCell.Text = column.ColumnName;
tHeaderRow.Cells.Add(tHeaderCell);
}
foreach( DataRow row in all("Users").Rows)
{
TableRow tRow = new TableRow();
testTable.Rows.Add(tRow);
foreach (DataColumn column in all("Users").Columns)
{
TableCell tCell = new TableCell();
tCell.Text = row[column.ColumnName].ToString();
tRow.Cells.Add(tCell);
}
}