首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用选定值:ASP.NET C#的组合框更新网格视图/db

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

Stack Overflow用户
提问于 2017-01-03 05:06:25
回答 1查看 1.2K关注 0票数 0

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-03 09:49:42

GridView标记

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

代码语言:javascript
复制
    <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>

绑定GridView

下面是将GridView控件与数据绑定的代码。

代码语言:javascript
复制
   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;
            }
        }
    }
}

编辑GridView行

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

代码语言:javascript
复制
protected void EditCustomer(object sender, GridViewEditEventArgs e)
{
    gvCustomers.EditIndex = e.NewEditIndex;
    BindData();
}

protected void CancelEdit(object sender, GridViewCancelEditEventArgs e)
{
    gvCustomers.EditIndex = -1;
    BindData();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41436743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档