グリッドビューを複数のデータキーにバインドしています。グリッドビューの特定の行が選択されているときに、これらのデータキーの値をテキストボックスに表示しようとしています。そのため、以下の方法を試しました。
列番号に基づいて、データベースの値を文字列に格納することができました。特定の行が選択されているときにグリッドビュー全体をループするために、foreach を使用しています。しかし、なぜ gridview の最後の値しか表示されないのかよくわかりません。
protected void GWCase_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (GridViewRow gvr in GWCase.Rows)
{
string detail = GWCase.DataKeys[gvr.RowIndex].Values[0].ToString();
string propertydetail = GWCase.DataKeys[gvr.RowIndex].Values[1].ToString();
string suspectdetail = GWCase.DataKeys[gvr.RowIndex].Values[2].ToString();
tbdetails.Text = detail;
tbproperty.Text = propertydetail;
tbsuspect.Text = suspectdetail;
}
グリッドビューの行も取得したため、適切な for ループに実際に変換することはできません。基本的に、選択したグリッドビュー行に基づいて、異なるデータキーの異なる値を表示しようとしています。