C# 如何从SQL填充GridView下拉列表选项?

C# 如何从SQL填充GridView下拉列表选项?,c#,asp.net,sql,gridview,datagridview,C#,Asp.net,Sql,Gridview,Datagridview,以下是我希望网格视图执行的操作 我的SQL表\u数据包含项\u名称和项\u代码 从药房数据表填充项目代码。当我从下拉列表中选择项目名称时,它应该在字段中填充项目代码 我该怎么办 1.将项目名称dropdownlist的Autopostback设置为true,并在dropdownlist更改事件中写入获取数据(项目代码)的代码,并填写项目代码参见以下内容。。这可能对你有帮助。在链接中的示例中,他们使用直接值填充下拉列表,而不是针对您的案例使用数据库。我通过在GridView中添加OnRowDat

以下是我希望网格视图执行的操作

我的SQL表\u数据包含项\u名称和项\u代码

从药房数据表填充项目代码。当我从下拉列表中选择项目名称时,它应该在字段中填充项目代码


我该怎么办

1.将项目名称dropdownlist的Autopostback设置为true,并在dropdownlist更改事件中写入获取数据(项目代码)的代码,并填写项目代码参见以下内容。。这可能对你有帮助。在链接中的示例中,他们使用直接值填充下拉列表,而不是针对您的案例使用数据库。

我通过在GridView中添加OnRowDataBound函数解决了此问题

OnRowDataBound=“Grid\u ItemList\u RowDataBound”

上面的代码提取项目名称及其各自的项目代码

现在,为了在选择时显示文本框中的代码,我使用下面的事件作为下拉元素

OnSelectedIndexChanged=“ddlnames\u OnChanged”

嗯,这就是我必须做的!:)
希望有一天有人会觉得这很有用。

你能绑定网格并填充列吗?我的网格视图目前不可见。
protected void Grid_ItemList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    Connection con = new Connection();     
    if (e.Row.RowType == DataControlRowType.DataRow)
        {

        //Find the DropDownList in the Row
        DropDownList ddlnames = (e.Row.FindControl("ddlnames") as DropDownList);
        ddlnames.DataSource = con.GetData("Select Item_Code,Item_Name from mytable");

        //TextValue Pairs of DropDown list
        ddlnames.DataTextField = "Item_Name";
        ddlnames.DataValueField = "Item_Code";
        ddlnames.DataBind();

        //Add Default Item in the DropDownList
        ddlnames.Items.Insert(0, new ListItem("Please select"));
        }        
    }
protected void ddlnames_OnChanged(object sender, EventArgs e)
    {
    //Encapsulates the object back as a dropdown list
    DropDownList ddlnames = (DropDownList)sender;

    //Finds the control in the corresponding gridview row and edits the label
    GridViewRow row = (GridViewRow)ddlnames.NamingContainer;
    TextBox IC = (TextBox)row.FindControl("itemCode");
    IC.Text = ddlnames.SelectedValue; 
    }