0

我有一个标签、数据表和一个列表框。表有列 [BUS_NAME] 和 [SEAT NUMBER]。并且标签显示总线名称以及单击按钮时

[BUS_NAME] 值与标签文本相同的 [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()); 
             }
            }

但这不起作用。提前致谢..

4

2 回答 2

1

您需要比较总线名称而不是 ID。所以改变这一行

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

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

你也可以通过

 DataRow[] dr = dt.Select("BUS_NAME = '"+lbl_busname.Text+"'";

并在 dr 上循环而不应用任何检查

 foreach(DataRow d in dr)
    {
        listBox1.Items.Add(Convert.ToString(d["Seat_Number"]));             
    }
于 2013-08-07T06:28:08.460 回答
0

这行得通

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"]));             
}
于 2013-08-13T11:31:13.247 回答