使用组合框选择值更新网格视图/db:ASP.NET C#

使用组合框选择值更新网格视图/db:ASP.NET C#,c#,asp.net,gridview,combobox,C#,Asp.net,Gridview,Combobox,我需要创建一个网页包含一个组合框网格视图。条件是:-组合框值应插入我的SQL db中,并在我单击“保存”按钮时更新db/grid视图。[我添加了页面建议设计的图像]非常感谢您对代码的任何帮助!谢谢大家! GridView标记 下面是一个简单的GridView ASP.Net GridView控件,它是从Northwind数据库的Customers表填充的。它显示两列联系人姓名和城市,该城市可通过ASP.Net DropDownList控件编辑。标识符列Customer Id绑定到DataKeyN

我需要创建一个网页包含一个组合框网格视图。条件是:-组合框值应插入我的SQL db中,并在我单击“保存”按钮时更新db/grid视图。[我添加了页面建议设计的图像]非常感谢您对代码的任何帮助!谢谢大家!

GridView标记

下面是一个简单的GridView ASP.Net GridView控件,它是从Northwind数据库的Customers表填充的。它显示两列联系人姓名和城市,该城市可通过ASP.Net DropDownList控件编辑。标识符列Customer Id绑定到DataKeyNames属性


编辑GridView行


以下事件处理GridView行编辑和取消编辑事件 C#




GridView标记

下面是一个简单的GridView ASP.Net GridView控件,它是从Northwind数据库的Customers表填充的。它显示两列联系人姓名和城市,该城市可通过ASP.Net DropDownList控件编辑。标识符列Customer Id绑定到DataKeyNames属性


编辑GridView行


以下事件处理GridView行编辑和取消编辑事件 C#



    <asp:GridView ID="gvCustomers" DataKeyNames = "CustomerId" runat="server" AutoGenerateColumns = "false" OnRowEditing = "EditCustomer" OnRowDataBound = "RowDataBound" OnRowUpdating = "UpdateCustomer" OnRowCancelingEdit = "CancelEdit">
<Columns>
    <asp:BoundField DataField = "ContactName" HeaderText = "Contact Name" />
    <asp:TemplateField HeaderText = "City">
    <ItemTemplate>
        <asp:Label ID="lblCity" runat="server" Text='<%# Eval("City")%>'></asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
            <asp:Label ID="lblCity" runat="server" Text='<%# Eval("City")%>' Visible = "false"></asp:Label>
    <asp:DropDownList ID = "ddlCities" runat = "server">
    </asp:DropDownList>
    </EditItemTemplate>
    </asp:TemplateField>
    <asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
   protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        this.BindData();
    }
}

private void BindData()
{
    string query = "SELECT top 10 * FROM Customers";
    SqlCommand cmd = new SqlCommand(query);
    gvCustomers.DataSource = GetData(cmd);
    gvCustomers.DataBind();
}

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;
            }
        }
    }
}
protected void EditCustomer(object sender, GridViewEditEventArgs e)
{
    gvCustomers.EditIndex = e.NewEditIndex;
    BindData();
}

protected void CancelEdit(object sender, GridViewCancelEditEventArgs e)
{
    gvCustomers.EditIndex = -1;
    BindData();
}