不太明白ListBox中的Items.Insert()

csdn_wayne 2002-11-08 01:20:28
1、首先我不太明白ListBox.Items.Insert(A,B); 这里的A代表的是什么,我知道B是显示在列表框中的内容。我在用的时候,直接把A设为0,但我用lbCustomerList.SelectedIndex.ToString();得到的是一个从0开始的索引,但如果把A改成1就会出错,不知道这个A在这里是什么作用?

2、然后是我有一个表,两个字段都是字符型的(Z1,Z2),我想在列表框中显示Z2的内容,但我需要在选择列表框中的一项后,得到Z1的值作为参数。不知道怎么做比较好?
...全文
907 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2002-11-08
  • 打赏
  • 举报
回复
use sql statement like

select LastName + ' ' + FirstName as Name, Number from your table

then
lbName.DataSource = rdrEmployees;
lbName.DisplayMember = "Name";
lbName.ValueMember = "Number ;

saucer 2002-11-08
  • 打赏
  • 举报
回复
1. the first argument is an index where you want to put you object, you cannot use 1 at the beginning, unless you have at least one item in the listbox already

2. set "z2" as the DisplayMember, set "z1" as the ValueMember

ListBox1.DataSource = .... ;
ListBox1.DisplayMember = "Z2" ;
ListBox1.ValueMember = "Z1" ;


use ListBox1.SelectedValue to get the value for "Z1"
csdn_wayne 2002-11-08
  • 打赏
  • 举报
回复
up
csdn_wayne 2002-11-08
  • 打赏
  • 举报
回复
谢谢,第一个问题我已经明白了,但第二个问题还不是很明白。

我本来是这么做的:
private void btnListName_Click(object sender, System.EventArgs e)
{
System.Data.SqlClient.SqlDataReader rdrEmployees;

this.connNwind.Open();
rdrEmployees = this.cmdEmployees.ExecuteReader();
while(rdrEmployees.Read())
{
string strName;
strName = rdrEmployees["LastName"] + " " + rdrEmployees["FirstName"];
lbName.Items.Insert(0,strName);
}

rdrEmployees.Close();
this.connNwind.Close();
}

也就是说,我显示在列表框的内容是一个人的全名,两个字段组合到一起的,但每个人都会有一个编号,Number,我需要实现在列表框中显示人名,但当选择到某条记录时,得到的是那个人的编号(编辑4位数但没有连续)。能给我一个比较详细的代码吗?最好能以这个相类似的方法来实现。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧