ListBox的属性DisplayMember()是什么?Multicolumn可以绑定多个字段嘛?采用CONCAT函数解决?

comboBox控件:下拉列表框

listBox控件:列表控件用户可以选择一个或者多个条目,当列表项目过多时,ListBox会自动添加滚动条,使用户可以滚动查阅所有选项。ListBox可以预先设定列表内容,也可以绑定其他控件或数据库,自动更新条目,把数据逐一显示出来。

1. comboBox控件、listBox控件都有属性DisplayMember和ValueMember;

在得到数据集后,只要设定好这类组件的三个属性就可以完成数据绑定了,这三个属性是:"DisplayMember"、 "ValueMember"、"DataSource"。

DataSource是要显示的数据集

DisplayMember绑定的是显示给用户的数据

ValueMember绑定的是对应的值

2.listBox增加,插入或者删除内容

listBox1.Items.Add("要增加的条目文本");   
     //将在列表后面添加
listBox1.Items.Insert(i, "要增加的条目文本");  
     //将在索引为i的条目后面插入一条新条目
listBox1.Items.Remove("在此放入你要移除条目的文本内容");  
     //删除是用的是文本内容,而不是索引
listBox1.Items.Clear();                               
    //清空列表所有条目
listBox1.ClearSelected();                         
    //取消所有选中项,即变为未选中状态

3. c#中,如果用到了listBox这个控件,如果你想用它来显示多列,那么你就要注意了,listBox有一个属性叫Multicolumn

当Multicolumn = true,意思就是说,当列表框一列显示不了所有的items时,就会换列显示,而不是在项目超过CheckedListBox的高度时显示垂直滚动条,并不是我们想象的那个表单的多列.

如果您真的需要显示多列,可以考虑真正的多列控件DataGridView或ListView

4.listBox没有多列显示这个功能,要实现多个数据的展示的效果,有两个方法显示

方法一:

查询的时候就使用函数concat()将字段连接起来,sql语句如下:

SELECT concat(D.STUDENTID ,D.STUDENTNAME) as student1 FROM student_inf D 

然后listBox.DisplayMember = "student1";

方法二:

通过ListItem实现

OracleDataReader readInf = cmdInf.ExecuteReader(CommandBehavior.CloseConnection);
List<ListItem> lis = new List<ListItem>();
while (readInf.Read())
{
 string strAbsStu = readInf["STUDENTID"].ToString() + "," + readInf["STUDENTNAME"].ToString();
 lis.Add(new ListItem(strAbsStu));
}
listBox.DataSource = lis;

OracleDataReader readInf = cmdInf.ExecuteReader(CommandBehavior.CloseConnection);
while (readInf.Read())
{
 string strAbsStu = readInf["STUDENTID"].ToString() + "," + readInf["STUDENTNAME"].ToString();
 ltbAbsNum.Items.Add(strAbsStu);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值