用两个列表框asp.net c#绑定gridview
Posted
技术标签:
【中文标题】用两个列表框asp.net c#绑定gridview【英文标题】:binding gridview with two listbox asp.net c# 【发布时间】:2019-05-19 12:21:49 【问题描述】:我想将一个GridView
与两个ListBox
的值绑定。
我在GridView
中成功绑定了一个列表框值,但不知道如何同时绑定两个列表框。
DataTable dt = new DataTable();
dt.Columns.Add("Menu", Type.GetType("System.String"));
dt.Columns.Add("cost", Type.GetType("System.String"));
foreach (ListItem lst in ListBox1.Items)
if (lst.Selected)
DataRow dr = dt.NewRow();
dr["Menu"] = lst.Text;
dt.Rows.Add(dr);
//GridView1.DataSource = dt;
//GridView1.DataBind();
也试过这段代码,但没有用
DataTable dt1 = new DataTable();
dt1.Columns.Add("Menu", Type.GetType("System.String"));
//dt1.Columns.Add("cost", Type.GetType("System.String"));
foreach (ListItem lst in ListBox1.Items)
if (lst.Selected)
DataRow dr1 = dt1.NewRow();
dr1["Menu"] = lst.Text;
String strQuery = "SELECT cost FROM menu where name = '" + ListBox1.SelectedValue + "'";
// dr1["Cost"] = lst.Value;
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = strQuery;
cmd.Connection = con;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt1);
dt1.Rows.Add(dr1);
GridView2.DataSource = dt1;
GridView2.DataBind();
【问题讨论】:
向我们展示您已经编写的代码并解释为什么它不起作用。如果你已经完成了一次,为什么第二次没有工作? 添加了上面的代码 【参考方案1】:这样的东西会起作用,
protected void Button1_Click(object sender, EventArgs e)
DataTable dt = new DataTable();
dt.Columns.Add("Menu", Type.GetType("System.String"));
dt.Columns.Add("cost", Type.GetType("System.String"));
// capture selected item value for 1st listbox
foreach (ListItem lst in ListBox1.Items)
if (lst.Selected)
DataRow dr = dt.NewRow();
dr["Menu"] = lst.Text;
dt.Rows.Add(dr);
// capture selected item value for 2nd listbox
foreach (ListItem lst in ListBox2.Items)
if (lst.Selected)
DataRow dr = dt.NewRow();
dr["Menu"] = lst.Text;
dt.Rows.Add(dr);
// finally display the data to gridview
GridView1.DataSource = dt;
GridView1.DataBind();
您的原始代码仅在选择列表框项时创建逻辑以捕获值,因此请确保您同时选择两个列表框项,然后您将能够捕获数据表上的 2 行。
【讨论】:
以上是关于用两个列表框asp.net c#绑定gridview的主要内容,如果未能解决你的问题,请参考以下文章
绑定 C#、ASP.net 后在 gridview 中添加新行