0

我有一个 GridView,当它被选中时我想刷新一行(而不是整个网格)。我尝试在 Grid selected index 更改时更改Text每个属性。GridView.SelectedRow.Cells它似乎适用于DataField,但不适用于TemplateField。因为TemplateField我得到了奇怪的结果 - 所选行的值正确更改,但是当我选择另一行时,TemplateField先前选择的行的值变为空白。简要说明:

1. Nothing selected
--------------------------
id          template_field
--------------------------
 1          value_1
 2          value_2

2. First record selected
--------------------------
id          template_field
--------------------------
 1          updated_value_1
 2          value_2

3. Second record selected
--------------------------
id          template_field
--------------------------
 1          [blank!]
 2          updated_value_2

最终,template_field除了选中之外,我的每条记录都是空白的。更改 TemplateField 文本的正确方法是什么?

4

1 回答 1

1

尝试将 TextBox 控件添加到您的模板,并更改而不是单元格内容。您应该可以通过以下方式获得它:

TextBox tb = GridView.SelectedRow.Cells[0].Controls[0] as TextBox;
if(tb != null)
   tb.Text = newValue;
于 2010-11-10T21:36:09.083 回答