我认为简单的问题。我有一个gridviewrow,我希望能够将单元格中的文本放入页面上的文本框中。该行来自一个表,其中该列名为“Title”,其类型为nvarchar(100)。我试过这样的东西,但它给了我一个空字符串;
tBox.Text = ((TextBox)selectedRow.FindControl("Title")).ToString();
我知道我可以使用单元格值,但我认为这有用。 有什么想法吗?
谢谢
答案 0 :(得分:0)
这是正确的想法,只是有点偏离:
row.FindControl("columnName")
给你一个实际的对象。它返回的确切取决于ASP部分中指定的内容。可以是标签,可以是文本框,复选框......
获得对象后,您可以像平常一样访问属性。在这种情况下,您可能需要Text
属性。
row.FindControl("...").Text
如果你更喜欢使用位置索引,那么这样的东西也有效:
row.Cells[i].Controls[1]
其中i
是项目的基于0的索引,从左侧开始。
答案 1 :(得分:0)
我不知道你选择索引的方式,但无论如何首先你必须把这个文本框放到textbox变量中,然后把它里面的文本传递给你的文本框,如下所示:
TextBox tb = (TextBox)selectedRow.FindControl("Title");
if(tb != null){
tBox.Text = tb.Text;
}
也selectRow可以来自gridview行的for循环,也可以通过编辑行或更新行或行数据来获取它,通过e.RowIndex