请有人帮助我解决以下问题。 我有一个包含2列的gridview。我使用nhibernate标准用我的数据表中的标签填充第一列。在第二列中,我有文本框。我想填充它们但我不能让它工作。到目前为止我有这个:
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
foreach (Tabelobject item in list)
{
DataRow NewRow = dt.NewRow();
Label lbl = new Label();
lbl.Text = item.objectName;
foreach (GridViewRow row in GridView1.Rows)
{
TextBox txt = row.Cells[0].FindControl("Textbox1") as TextBox;
txt.Text = item.objectValue;
}
NewRow[0] = lbl.Text;
dt.Rows.Add(NewRow);
}
GridView1.DataSource = dt;
GridView1.DataBind();
在aspx中我必须遵循以下代码:
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:TextBox ID="Textbox1" runat="server"> </asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
我试图找到文本框控件并用对象值填充它。它到目前为止还没有工作,也许你们可以帮助我。
答案 0 :(得分:0)
DataTable dtCurrentTable = dt; // your datatable
DataRow drCurrentRow = null;
if (dtCurrentTable.Rows.Count > 0)
{
for (int i = 1; i <= dtCurrentTable.Rows.Count; i++)
{
TextBox tb1= (TextBox)Geidview1.Rows[rowIndex].Cells[0].FindControl("tb1");
drCurrentRow = dtCurrentTable.NewRow();
tb1.Text = dtCurrentTable.Rows[i - 1]["tb1"].ToString();
rowIndex++;
}
然后将此dtCurrentTable
绑定到gridview