基本上我想要检索一个“TextBox1”,我将其添加到gridview的一个新列(TemplateField)中,其余部分是来自sqldatasource控件的数据加载
我想指出我计算的“TextBox1”基本值...所以结果是当加载default.aspx时(意味着页面加载)“TextBox1”应该显示计算值... sO现在是我如何从gridview中检索“TextBox1”以便我指示一个值
因为我的网格视图数据使用设计default.aspx中的sqldatasource中的检索,因此我不需要使用下面的代码
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Age");
DataRow dr = dt.NewRow();
dr["Name"] = "Chris Harris";
dr["Age"] = "40";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Name"] = "Sean Williams";
dr["Age"] = "39";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Name"] = "Paul Newcombe";
dr["Age"] = "38";
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
那么应该如何从gridview中检索“TextBox1”以便我指示一个值
<ItemTemplate>
<table style="width: 73%; height: 31px;">
<tr>
<td class="style1">
<asp:Label ID="Label2" runat="server" Text="Calculation:"></asp:Label>
</td>
<td >
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
</tr>
</table>
</ItemTemplate>
答案 0 :(得分:0)
您需要在RowDatabound事件中的gridview容器中找到控件。 Gridview class and methods
TextBox t = GridView1.FindControl("TextBox1") as TextBox;
if (t != null)
{
t.Text = "Hello World!";
}
答案 1 :(得分:0)
如果这是一个逐行的情况,您可能希望在GridView上的RowDataBound
事件中执行此操作:
public void gridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
Textbox txt = (TextBox)e.Row.FindControl("Textbox1");
//Do your processing here...
}
}