C#winfrom里的按钮Click事件里查询一个字段显示在ListBox里面,在点击listbox里的选中的值传到文本框中。
出现在查询的时候,数据显示在listbox里。同时也在textbox里显示了System.Data.DataView 这么一行。
代码:
private void BtnSearch_Click(object sender, EventArgs e)
{
WebReference.Service1 serv = new SmartWMS.WebReference.Service1();
serv.Url = "http://" + str_ip + "/" + str_ser + "/Service1.asmx";
DataSet ds = serv.NO();
ListB.DataSource = ds.Tables[0];
ListB.DisplayMember = ds.Tables[0].Columns[0].ToString();
ListB.ValueMember = ds.Tables[0].Columns[0].ToString(); } private void ListB_SelectedIndexChanged(object sender, EventArgs e)
{
if (ListB.SelectedItem != null)
{
txtNo.Text = Convert.ToString(ListB.SelectedValue);
}
}就写了这么一段代码。
出现在查询的时候,数据显示在listbox里。同时也在textbox里显示了System.Data.DataView 这么一行。
代码:
private void BtnSearch_Click(object sender, EventArgs e)
{
WebReference.Service1 serv = new SmartWMS.WebReference.Service1();
serv.Url = "http://" + str_ip + "/" + str_ser + "/Service1.asmx";
DataSet ds = serv.NO();
ListB.DataSource = ds.Tables[0];
ListB.DisplayMember = ds.Tables[0].Columns[0].ToString();
ListB.ValueMember = ds.Tables[0].Columns[0].ToString(); } private void ListB_SelectedIndexChanged(object sender, EventArgs e)
{
if (ListB.SelectedItem != null)
{
txtNo.Text = Convert.ToString(ListB.SelectedValue);
}
}就写了这么一段代码。
我要的效果是,查询后文本框是空的,只有选择了listbox里的行,才将数据显示到文本框中。
ListB.ValueMember = ds.Tables[0].Columns[0].ToString();--------------------------------------------
如果是这样的话,在你原来的代码中,改一下绑定的代码: ListB.DisplayMember = ds.Tables[0].Columns[0].ColumnName;
ListB.ValueMember = ds.Tables[0].Columns[0].ColumnName;
呵呵。又仔细查了下是绑定了dataset的方法问题,我在试下芥子兄的代码看看。
{
txtNo.Text = Convert.ToString(ListB.SelectedItem.ToString());
}
芥子兄一楼的方法至少不显示System.Data.DataRowView这个值在文本框中了。直接显示第一行数据了。
呵呵
{
WebReference.Service1 serv = new SmartWMS.WebReference.Service1();
serv.Url = "http://" + str_ip + "/" + str_ser + "/Service1.asmx";
DataSet ds = serv.NO();
ListB.DataSource = ds.Tables[0];
//ListB.DisplayMember = ds.Tables[0].Columns[0].ToString();
//ListB.ValueMember = ds.Tables[0].Columns[0].ToString();
for (int count = 0; count < ds.Tables[0].Rows.Count; count++)
{
ListB.Items.Add(ds.Tables[0].Rows[count]["要绑定的列字段"].ToString());
}
}这样联动就没有问题了!
libinguest兄的方法我这报错的。找不到绑定的数据?
呵呵。不会是Rows在Listbox里有问题?我在改下。
{
if (ListB.SelectedItem != null)
{
DataRowView drv=ListB.SelectedValue as DataRowView;
if(drv!=null)
txtNo.Text=drv.Row[0].ToString();
}
}
这个不好意思!忘了提下了。这个是在symbol的扫描枪mobile上弄的程序。
呵呵,不知道会不会有点不一样,阉割过的控件。
现在舍弃了Listbox,用Combobox和TextBox的联动也碰到了相同的问题了。让我很迷茫。