0

GridViewがあり、選択されたときに(グリッド全体ではなく)行を更新したい。グリッドで選択したインデックスが変更されたときに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 に答える