2012-01-25 13 views
0

RowDataBoundイベントで各行のドロップダウンリストを作成しようとしています。ドロップダウンリストasp.netグリッド表示のドロップダウンリストの作成

自動ポストバックが有効になっています。ドロップダウンリストで選択を変更すると、イベントには

には行かない。

私はジャバスクリプトを使用しないので、ポストバックの解決策を探していません。私はあなたがGridViewコントロールでTemplate Fieldを使用することをお勧めし、そこにあなたのようにあなたのdrop-down Listを配置することができます

おかげ

+1

あなたのコードは+ gridviewマークアップしてください – Mubarek

答えて

1

RowDataBoundで次に

<asp:TemplateField HeaderText="Year"> 
<ItemTemplate> 
<asp:DropDownList Width="50" runat="server" 
    id="ddlYear" AutoPostBack="true" 
    OnSelectedIndexChanged="ddlYear_SelectedIndexChanged"> 
</asp:DropDownList> 

は-downlistを落としたり、いくつかのデータソースにバインドするためにアイテムを追加します。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     //Finding the Dropdown control in the row. 
     DropDownList ddlYear= e.Row.FindControl("ddlYear"); 
     if (ddlYear!= null) 
     { 
      ddlYear.DataTextField = "Name"; 
      ddlYear.DataValueField = "YearID"; 
      ddlYear.DataSource = ds.Tables["years"]; 
      ddlYear.DataBind(); 
     } 
    } 
} 

あなたがやっているとして、あなたは...また

を@にマドゥの指定されたリンクをたどることができますがRowDataBoundに動的にドロップダウンリストを追加するには良いapprochない..ですすべてのpostbackにこのイベントは再びダウンこれらのドロップを再作成します。

関連する問題