0

State(バインドされたフィールド)、Code(バインドされたフィールド)、およびChangeCode(ドロップダウン)の3つの列を持つグリッドビューがあります。ChangeCode フィールドの目的は、特定の状態のコードの値を変更することです。各州に適用されるコードのリストは異なります。

州とその現在のコードのリストを含むテーブルがあります。各州の許容コードのリストを含む表がもう 1 つあります。変更コードのドロップダウンに、現在のレコードに適用可能なすべての許容コードを動的に表示したいと考えています。C# で ASP.NET を使用しています。

State フィールドと Code フィールドは、1 つのデータソースから取得されます。現在のレコードの State 値を含むクエリを使用して、別のデータソースから ChangeCode ドロップダウン値を取得できません。これは、実行時に現在のグリッドビューの行を解析できないためです。これを実装する方法についてのアイデアは大歓迎です....

4

1 に答える 1

0

Gridview の RowDataBound イベントを使用し、このイベントの特定の状態に ChangeCode ドロップダウンをバインドできます。

     void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
     {
       DataRowView drv = (DataRowView)e.Row.DataItem; 
        if(e.Row.RowType == DataControlRowType.DataRow)
      {
         String State = drv["StateColumnName"].ToString();
      //Now You Have State So You Can Get All Code Values By State Name
         DataTable dtcodes = GetByState();
      //Now Bind This Code To DropDownList Of Codes
        DropDownList dropdownCodes = (DropDownList)e.Row.FindControl("dropdownCodes");
        dropdownCodes.DataSource = dtcodes;
        dropdownCodes.DataBind();

        }

     }
于 2013-09-18T23:38:12.320 に答える