2016-08-20 5 views
0

マイコード:GridViewのItemテンプレート内のドロップダウンで選択した値を入力するにはどうすればよいですか? aspxページ上のGridViewの

<asp:TemplateField HeaderText="Payments"> 
     <ItemTemplate> 
     <asp:Label ID="Label31" runat="server" Text='<% #Eval("Payments_Status") %>'> 
     </asp:Label> 
     </ItemTemplate> 
     <EditItemTemplate> 
     <asp:DropDownList ID="ddltype" runat="server" CssClass="form-control" AutoPostBack="false"> 
      <asp:ListItem Value="0" Enabled="false">Select Status</asp:ListItem> 
      <asp:ListItem Value="Pending">Pending</asp:ListItem> 
      <asp:ListItem Value="Paid">Paid</asp:ListItem> 
     </asp:DropDownList> 
     </EditItemTemplate> 
    </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

値は、データベースに「保留」されている場合はドロップダウンが「保留中」と表示されるはずです。有料の場合と同じです。 GridViewの内側にドロップダウンを埋めるためにどのように

PageLoadでSelectedValueの(スクリーンショットへのリンク)

enter image description here

+0

あなたはhttp://codepedia.info/bind-この記事が役に立つことを願っ選択dropdownlist-inside-gridview-edit-template/ –

+0

参考にしていただきありがとうございます。とても役に立ちました。@ Satindersingh –

答えて

0
protected void RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow && gvCustomers.EditIndex == e.Row.RowIndex) 
    { 
     DropDownList ddltype = (DropDownList)e.Row.FindControl("ddltype"); 
     string query = "select distinct paymenttype from paymenttypes"; 
     SqlCommand cmd = new SqlCommand(query); 
     ddltype.DataSource = GetData(cmd); 
     ddltype.DataTextField = "type"; 
     ddltype.DataValueField = "type"; 
     ddltype.DataBind(); 
     ddltype.Items.FindByValue((e.Row.FindControl("Label31") as Label).Text).Selected = true; 
    } 
} 
private DataTable GetData(SqlCommand cmd) 
{ 
    string strConnString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString; 
    using (SqlConnection con = new SqlConnection(strConnString)) 
    { 
     using (SqlDataAdapter sda = new SqlDataAdapter()) 
     { 
      cmd.Connection = con; 
      sda.SelectCommand = cmd; 
      using (DataTable dt = new DataTable()) 
      { 
       sda.Fill(dt); 
       return dt; 
      } 
     } 
    } 
} 
+0

ありがとうございました。 –

関連する問題