C# 在c中从datatable到listbox获取值#

C# 在c中从datatable到listbox获取值#,c#,sql,datatable,listbox,C#,Sql,Datatable,Listbox,我有一个标签,数据表和一个列表框。 表中有[BUS_NAME]和[SEAT NUMBER]列。 该标签显示总线名称和地址 单击按钮时 列表框中应列出[SEAT_NUMBER]列中[BUS_NAME]值与标签中文本值相同的值 我用过这个 for(int i = 0; i < dt.Rows.Count; i++) { textBox1.Text = dt.Rows[i]["Bus_NAME"].ToString();

我有一个标签,数据表和一个列表框。 表中有[BUS_NAME]和[SEAT NUMBER]列。 该标签显示总线名称和地址 单击按钮时

列表框中应列出[SEAT_NUMBER]列中[BUS_NAME]值与标签中文本值相同的值

我用过这个

       for(int i = 0; i < dt.Rows.Count; i++)
        {
            textBox1.Text = dt.Rows[i]["Bus_NAME"].ToString();

            if (lbl_busname.Text == textBox1.Text)
            {

                    listBox1.Items.Add(dt.Rows[i]["Seat_Number"].ToString()); 
             }
            }
for(int i=0;i

但这是行不通的。提前谢谢

您需要比较总线名称而不是id。因此更改此行

textBox1.Text = dt.Rows[i]["Bus_ID"].ToString();

您还可以通过

 DataRow[] dr = dt.Select("BUS_NAME = '"+lbl_busname.Text+"'";
并在dr上循环,而不应用任何类似的检查

 foreach(DataRow d in dr)
    {
        listBox1.Items.Add(Convert.ToString(d["Seat_Number"]));             
    }
这起作用了

for(int i = 0; i < dt.Rows.Count; i++)
    {
        textBox1.Text = dt.Rows[i]["Bus_NAME"].ToString();
      }

        if (lbl_busname.Text == textBox1.Text)
        {

                listBox1.Items.Add(dt.Rows[i]["Seat_Number"].ToString()); 
         }

将busname与busid:o进行比较
for(int i = 0; i < dt.Rows.Count; i++)
    {
        textBox1.Text = dt.Rows[i]["Bus_NAME"].ToString();
      }

        if (lbl_busname.Text == textBox1.Text)
        {

                listBox1.Items.Add(dt.Rows[i]["Seat_Number"].ToString()); 
         }
foreach(DataRow d in dr)
{
    listBox1.Items.Add(Convert.ToString(d["Seat_Number"]));             
}