DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridのDataBindに関して

環境/言語:[使用言語C#]
分類:[ASP.NET]

はじめまして。
DataGridのDataBind後の処理に関して質問致します。

DataGridを使用してDropDownListを表示しているのですが、
行の追加処理を行った際のDataBind後に
既存のDropDownListのSelectIndexの情報の復帰が出来ません。
新規でページを呼び出す際の変更は成功しています。

新規、追加ともに行の生成には下のコードを使用しています。

using (DataTable dataTerm = this.CreateTableLayout())
{
DataTable getdataTerm = dataTerm;
   for (int i = 0; i <= this.DataGrid.Rows.Count; i++)
getdataTerm.Rows.Add(getdataTerm.NewRow());

this.DataGrid.DataSource = getdataTerm;
this.DataGrid.DataBind();
}

DropDownListは2列で使用しており、データバインド時にそれぞれ既定の項目は追加しています。
行の追加はDataGrid外のボタンクリックから行います。

行追加処理で出来ない事は以下の点です。

・一時テーブルに保存してある情報からそれぞれの選択項目を選択し直す。
(現在の状態では、最終行の選択情報が全ての行に反映されます)

また、この時、項目として存在しているテキストボックスは正常に復帰しています。


新規作成やPostBackではDropDownListに問題なく変更できるため、
なぜ追加処理を行う場合のみ失敗するのかの見当がつきません。

検索を掛けてみてもそれらしいものが見つけられず、手詰まりとなってしまいました。
原因等、分かりますでしょうか?


ちなみに、変更処理は全て、

DropDownList a = ((System.Web.UI.WebControls.DropDownList)this.DataGrid.Rows[i].Cells[ColumesNo].Controls[0]);

から行っています。
  • 題名: Re[1]: DataGridのDataBindに関して
  • 著者: Jun20
  • 日時: 2010/09/15 18:49:07
  • ID: 27322
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
リストボックスを取得後に再更新する事で自己解決しました。

トピック無駄消費すみません。(_ _)
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板