从数据库中的数据填充asp.net表
本文关键字:asp net 填充 数据 数据库 | 更新日期: 2023-09-27 18:29:11
我有几个关于从asp.net 中的数据表填充表的问题
我已经正确地从数据库中提取了数据,但现在我有了一个包含数据的表。如何填充我的asp.net表控件?我知道如何访问行和列数据,但不知道如何"绑定"或"填充"Table控件。
我考虑过使用网格视图,但有些人说它们加载速度慢,所以我避免这样做。
如有任何帮助,将不胜感激
HTML
<asp:Table runat="server" ID="table" CssClass="table">
<asp:TableHeaderRow>
<asp:TableCell>Cell 1 Header</asp:TableCell>
<asp:TableCell>Cell 2 Header</asp:TableCell>
</asp:TableHeaderRow>
<asp:TableRow>
<asp:TableCell ID="cell1"></asp:TableCell>
<asp:TableCell ID="cell2"></asp:TableCell>
</asp:TableRow>
</asp:Table>
C#
String sql = "SELECT * FROM TABLE";
SqlCommand command = new SqlCommand(sql, dbConnection);
SqlDataAdapter dataAdapter = new SqlDataAdapter(command);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
DataTable table = dataSet.Tables[0];
// Loop through rows
foreach (DataRow row in table.Rows)
{
// Loop through columns
foreach(DataColumn column in table.Columns){
}
}
我给你的代码,如何使用中继器:
<asp:Repeater ID="rptTable" runat="server">
<HeaderTemplate>
<table class="table">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td width="50%"><%# Eval("identifier") %></td>
<td width="*"><%# Eval("value") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
还有你的代码:
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("select identifier, value from table_name", con);
try{
con.Open();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
rptTable.DataSource = ds;
rptTable.DataBind();
}
catch(Exception ex){
//...
}
finally{
con.Close();
}
当然,您必须根据需要更改表的设计和sql查询。我刚刚展示了的基本结构
你可以试试这个:
private void GenerateTable()
{
DataTable dt = this.GetData(); //GetData returns your datatable from sql
for (int i = 0; i < dt.Rows.Count; i++)
{
TableRow row = new TableRow();
for (int j = 0; j < dt.Columns.Count; j++)
{
TableCell cell = new TableCell();
cell.Text = dt.Rows[i][j].ToString();
row.Cells.Add(cell);
}
table.Rows.Add(row);
}
}