2012-09-25 83 views
0

我正在使用下面的代碼綁定並在網格視圖中顯示下拉列表。但它始終顯示數據庫表是第二還是第三的第一項。關於使用c gridview中的下拉列表控件#

private void BindData1() 
    { 
     DataSet7TableAdapters.sp_getall_trv_config_masterTableAdapter TA = new DataSet7TableAdapters.sp_getall_trv_config_masterTableAdapter(); 
     DataSet7.sp_getall_trv_config_masterDataTable DS = TA.GetData(); 
     if (DS.Rows.Count > 0) 
     { 
      GridView2.DataSource = DS; 
      GridView2.DataBind(); 



      } 
     } 

protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Footer) 
     { 
      Control ctrl = e.Row.FindControl("DDL_STATUS_FT"); 
      if (ctrl != null) 
      { 
       DropDownList dd = ctrl as DropDownList; 
       DataSet7TableAdapters.sp_getall_trv_masterTableAdapter TA = new DataSet7TableAdapters.sp_getall_trv_masterTableAdapter(); 
       DataSet7.sp_getall_trv_masterDataTable DS = TA.GetData(); 
       dd.DataTextField = "fld_TName"; 
       dd.DataValueField = "fld_id"; 
       dd.DataSource = DS; 
       dd.DataBind(); 
      } 

     } 
} 

設計規範:

<asp:TemplateField ItemStyle-Width="100px" HeaderText="TYPE"> 
        <ItemTemplate> 
         <asp:DropDownList ID="DDL_STATUS" runat="server" AutoPostBack="true" Enabled="false" > 
         </asp:DropDownList> 
        </ItemTemplate> 
        <EditItemTemplate> 
         <asp:DropDownList ID="DDL_edit_STATUS" runat="server" AutoPostBack="true"> 
         </asp:DropDownList> 
        </EditItemTemplate> 
        <FooterTemplate> 
         <asp:DropDownList ID="DDL_STATUS_FT" runat="server" AutoPostBack="true"> 
         </asp:DropDownList> 
        </FooterTemplate> 
       </asp:TemplateField> 

我想要顯示的數據保存爲選擇的值。但現在第一個項目總是顯示在下拉列表中。請幫我做..

回答

0

當你不設置回index/value你在數據庫中保存,以便以後每隔結合它將被默認顯示了第一項

0

可以設置在你的下拉列表上的客戶機側像

SelectedValue='<%# Eval("fieldname") %>' 
2

'SelectedValue'嘗試了這一點:

​​