请教各位老大 在Oracle数据库中有一个表 我要把此表中的 ID和Name列 添加到Listbox 中 如格式(ID,Name)而我现在在Listbox中显示的所有行都是表中的第一行。。请教各位老大 我要怎么写此段代码?
解决方案 »
- 用串口控件遇到了一个几天还解决不了的问题,求各位大佬
- [求助]一个关于dataview的问题
- 求助:如何用ProgressBar做一个网页的进度条
- 大家,有没遇到过这种问题,Unable to open connection to "Sybase Adaptive Server Enterprise 12.5, provider 1.15.50.0 in framework
- 如何将我的应用程序实现在后台运行,而且显示系统托盘图标???
- C#做控件碰到问题,在线等待
- 从文本文件中读取数据到treeView控件中(C#或C++)
- 请教读取XML问题!
- c# webbrowers中怎样给textarea 填写文字?
- C#中的timer控件的响应事件为什么有是tick有的是elapsed?
- C#如何获取某个页面中所有的图片链接
- 大家帮个忙 急急急、、、
{
this.listbox1.items.add(dr["ID"].tostring()+" "+dr["Name"].tostring());
}
应该是这样吧 没测试过 要把两个列并在一行写应该
Listbox.Item.Clear();
foreach(DataRow dr in dt.Rows)
{
ListItem li=new ListItem();
li.Text=dr["Name"].ToString();
li.Value=dr["ID"].ToString();
Listbox.Item.Add(li);
}
Listbox.Item.Clear();
foreach(DataRow dr in dt.Rows)
{
ListItem li=new ListItem();
li.Text=dr["Name"].ToString();
li.Value=dr["ID"].ToString();
Listbox.Item.Add(li);
}
正解!
在Listbox中 是没有排序的啊。。
Listbox填加元素就可以了啊 。我知道你 的需求是什么。你是想给用户选的时候看到的 Name,当选中后 ,你得到他 对应的ID。其实 上面的仁兄也给出了解决方案 。foreach(DataRow dr in dt.Rows)
{
ListItem li=new ListItem();
li.Text=dr["Name"].ToString();
li.Value=dr["ID"].ToString();
Listbox.Item.Add(li);
}你取值的时候 , li.Text 就是 Name ,li.Value就是 ID。至于排序,你可能需要在 返回数据之前进行了 。
还有个 更笨的方法 ,如果数据不多,你可以 不用循环 添加 ,
直接一行一行的 添加 ,按照你想要的顺序 取 不同的 tabla列就可以 实现了
DataTable dt= ......
// 设置table 的dataview
DataView dv = dt.DefaultView;
// 按照 "列名 升降序"的格式排序
dv.Sort = "id desc";
// 直接绑定数据源
this.listBox1.DataSource = dv;
this.listBox1.DisplayMember = "name";
this.listBox1.ValueMember = "id";
请教各位 老大 有没有 直接以数字的形式排序 而不是以字符的形式排的?
我的ID是 字符型的 是1 30 等等
select * from TableArea order byconvert(int,ID) asc 貌似不行吧?
数据能正常在listbox中显示出来 但是排序是按 string的格式排序的。比如说 1,哈哈哈哈
10,哈哈哈
11,哈哈哈
12,哈哈
2,哈哈哈
。
。
。
select * from TableArea order by convert(int,ID) asc
大哥 确实不行 “int” 标识符无效
using(OracleDataAdapter adp=new OracleDataAdapter())
{
adp.fill(ds);
}
ListBox1.DisplayMember="name";
ListBox2.ValueMember="id";
ListBox2.DataSource=ds.table[0];winform这么行的