我有一些关于从asp.net中的数据表填充表格的问题
我已从数据库中正确提取数据但现在我有一个包含数据的表。如何填充我的asp.net Table控件?我了解如何访问行和列数据,但不知道如何"绑定"或者"填充"表控件。
我研究过使用gridview,但是有些人说他们加载速度慢,所以我避免这样做。
非常感谢任何帮助
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){
}
}
答案 0 :(得分:1)
我给你代码,如何使用Repeater:
<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查询。我只是展示了基本结构
答案 1 :(得分:0)
你可以试试这个:
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);
}
}