如何取得ListView选中的列的字段????? foreach(ColumnHeader ch in listView1.Columns) { ch.Text //字段的显示文本 } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 foreach(ListViewItem.ListViewSubItem lvs in listView1.Items[0].SubItems) { lvs.Text //每一行每个字段所显示的文本 } 比如 列1 列2 列3第一行 1 11 111第二行 2 22 222第一行 3 33 333第二行 4 44 444我要的功能就是点第一行的时候。(类似与DATAGRID风格)取得第一行的列值 分别 取出来 列1, 2, 3 列的值可是现在 取的时候点第一次好用,(在selectedindexChanged时间里写string a = this.lsvRecord.SelectedItems[0].Text;)取出来了。点第二次就不好用了。而且只能取第一列的值,可能是估计是微软的BUG吧。我从新定义了个事件,名字叫aa然后在aa里写 if(this.lsvRecord.SelectedItems.Count == 0) return; string a = this.lsvRecord.SelectedItems[1].Text; this.textBox1.Text =a;。这时候可以取出来lsvRecord.SelectedItems[0],第一列的值,而取lsvRecord.SelectedItems[1]或lsvRecord.SelectedItems[2]的时候就取不出来了,抱错。请问怎么取选中行所有列的值。(1行就可以。不要循环所有行)我的代码如下。初始化的时候//添加ListView的列 lsvRecord.Columns.Add("发信人", -2, HorizontalAlignment.Left); lsvRecord.Columns.Add("日期 ", -2, HorizontalAlignment.Left); lsvRecord.Columns.Add("时间 ", -2, HorizontalAlignment.Left); lsvRecord.Columns.Add("内容", -2, HorizontalAlignment.Center); for(int i = 0;i<40;i++) { int itemNumber = this.lsvRecord.Items.Count; string[] subItem = {i.ToString(),i.ToString(),i.ToString(),i.ToString()}; lsvRecord.Items.Insert(i,new ListViewItem(subItem)); }真正取字段的时候。点击一行触发下面实件(只能选中行取第1列字段,) private void aa(object sender, System.EventArgs e) { if(this.lsvRecord.SelectedItems.Count == 0) return; string a = this.lsvRecord.SelectedItems[0].Text; //string a = this.lsvRecord.SelectedItems[1].Text;//异常!!!! this.textBox1.Text =a; }请高手指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! if(listView1.SelectedItems.Count>0) { foreach(ListViewItem.ListViewSubItem lvs in listView1.SelectedItems[0].SubItems) { textBox1.Text+=lvs.Text; } }这样写,取得被选定行第一行的所有字段的文本。 谢谢,我想问一下如果我想取得单一列的文本应该怎么写?不是一行所有列,而是一行的一列。请指教。谢谢。对了,你MSN是多少???我是[email protected] listView1.Items[0].SubItems[i].Text //i即第几列,从0开始计数 AriGIS 距离测量的算法 在C#中调用C开发的dll时,遇到一些问题,请大家帮助 .net上传视频然后转换为flv格式的问题! 怎么生成订单? 正则式问题! 如何理解线程、消息循环、应用程序、窗口的关系??? 怎样调用父类的父类的保护方法? 请问Visual Studio Tools for the Microsoft Office System 如何对两个异地的Sql Server数据库进行差异备份,急,在线等! Effective C#: 1.正确区分类集、模块和名称空间 为什么我在字符串里加入\n没有换行?? 想换程序学习的大侠进来看看。
{
lvs.Text //每一行每个字段所显示的文本
}
列1 列2 列3
第一行 1 11 111
第二行 2 22 222
第一行 3 33 333
第二行 4 44 444我要的功能就是点第一行的时候。(类似与DATAGRID风格)
取得第一行的列值 分别 取出来 列1, 2, 3 列的值可是现在 取的时候点第一次好用,(在selectedindexChanged时间里写string a = this.lsvRecord.SelectedItems[0].Text;)取出来了。点第二次就不好用了。而且只能取第一列的值,可能是估计是微软的BUG吧。
我从新定义了个事件,名字叫aa然后在aa里写 if(this.lsvRecord.SelectedItems.Count == 0)
return;
string a = this.lsvRecord.SelectedItems[1].Text;
this.textBox1.Text =a;。
这时候可以取出来lsvRecord.SelectedItems[0],第一列的值,而取lsvRecord.SelectedItems[1]或lsvRecord.SelectedItems[2]的时候就取不出来了,抱错。请问怎么取选中行所有列的值。(1行就可以。不要循环所有行)
我的代码如下。初始化的时候
//添加ListView的列
lsvRecord.Columns.Add("发信人", -2, HorizontalAlignment.Left);
lsvRecord.Columns.Add("日期 ", -2, HorizontalAlignment.Left);
lsvRecord.Columns.Add("时间 ", -2, HorizontalAlignment.Left);
lsvRecord.Columns.Add("内容", -2, HorizontalAlignment.Center);
for(int i = 0;i<40;i++)
{
int itemNumber = this.lsvRecord.Items.Count;
string[] subItem = {i.ToString(),i.ToString(),i.ToString(),i.ToString()};
lsvRecord.Items.Insert(i,new ListViewItem(subItem));
}
真正取字段的时候。
点击一行触发下面实件(只能选中行取第1列字段,)
private void aa(object sender, System.EventArgs e)
{
if(this.lsvRecord.SelectedItems.Count == 0)
return;
string a = this.lsvRecord.SelectedItems[0].Text;
//string a = this.lsvRecord.SelectedItems[1].Text;//异常!!!!
this.textBox1.Text =a;
}
请高手指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{
foreach(ListViewItem.ListViewSubItem lvs in listView1.SelectedItems[0].SubItems)
{
textBox1.Text+=lvs.Text;
}
}这样写,取得被选定行第一行的所有字段的文本。