带有数据源的列表框拒绝选择某些值
本文关键字:选择 拒绝 数据源 列表 | 更新日期: 2023-09-27 18:16:04
我有一个列表框metalListbox和4个文本框rtxt_num,name,docname,wiloc.
列表框绑定到一个OleDb数据源,并在
所选值的private void metal_metalListbox_SelectedIndexChanged(对象发送者,EventArgs e)
细节将显示在文本框中。一切都很顺利,除了从列表框中选择了三个特定的值。
- 12英尺精密压机制动器
- ETS 2000 (14 Ft Accurpress)
- 首件检验(金属)
当我选择这三个中的一个时,列表框会锁定到第一个条目,不让我选择它们,但会继续工作。如果我再次点击这些,它会再次捕捉到第一个条目
我认为它可能是文件名或文本框中显示的其他详细信息。由于(),但12英尺的精度没有()。可能是数字的原因,但我有其他带有数字的条目。
没有错误或弹出任何东西,所以它几乎可以工作:(
代码如下:
private void metal_metalListbox_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "select * from Metal where Name = '" + metalListbox.Text + "'";
command.CommandText = query;
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
metal_rtxt_num.Text = reader["Number"].ToString();
metal_rtxt_name.Text = reader["Name"].ToString();
metal_rtxt_docname.Text = reader["docName"].ToString();
metal_rtxt_wiloc.Text = reader["wiLoc"].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show("Error" + ex);
}
}
使用metalListBox的值进行查询。文本最有可能是罪魁祸首。
metalListBox试试。SelectedItem,或者从e参数(该参数应该有一个" SelectedItem "属性)中提取该值
让我们试一下而(reader.HasRows) {}并将事件更改为selectedItem而不是selectedIndex有。行