C#如何获取datagridview中某一整列的数据。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何获取datagridview中某一整列的数据。相关的知识,希望对你有一定的参考价值。
我现在有一堆数据,约5000个。
问题:
(1)现在,我想获取MAC号那列的所有数据作为一个集合,该怎么获取。
(2)获取到整列数据后,如何进行判断是否有相同的MAC号比较快速,用foreach吗。
如果有其他比较快速的方法,请指点一下。
建议用循环做,比较清晰。 参考技术A 你的 datagridview 数据源是什么呢?追问
execl的。从execl里面获取的数据。
追答List<string> listMac = new List<string>();foreach (DataGridViewRow item in this.dataGridView1.Rows)
string tempMac = item.Cells[2].Value.ToString();//假设你的mac列在第二列
if (!listMac.Contains(tempMac))
listMac.Add(tempMac);
else
MessageBox.Show("重复mac");
追问
按照你的方法,查重通过了。我现在还有2个疑问。就是漏号与错序查询。
漏号:即00231F318352(假设在第0行第1列)与00231F318354(假设第1行第2列)之间有一个MAC号(00231F318353)没有这样的情况。
错序:即在第i行第1列的MAC号比第i+1行的MAC号大的情况。
这两个查询该如何弄呢。我给你加分。
漏号,你的不同列数据怎么比????
你数据放进datagridview后是否排序好了?字符串比较可以用下面的方法
int result = string.Compare(strA,strB,false);
//返回1,strA比strB大;
//返回0,strA等于strB;
//返回-1,strA比strB小;
打错了,是相邻行同列的数据。
追答这个弄起来就有点麻烦咯
追问嗯。还是感谢你。按照你的思路,把错序解决了。漏号我就自己再琢磨下。给你加分哈。
本回答被提问者采纳C# Winform中 选中DatagridView控件中某行如何将该行某个字段(1,2,3,4,)的值绑定CheckedListBox控件的数
this.DatagridView1.SelectedRows[0].Cells[0].Value.ToString()//获取选中行的第一列的值其他列以此类推
CheckedListBox1.Items.add(string value);//绑定追问
CheckedListBox1.Items.add(string value);//绑定
这个(string value)用不起啊,能说明清楚点吗?小弟初学者!!!麻烦各位大哥帮下忙了~
string value是你要绑定的值,比如你需要列表绑定1、2、3代码如下:
CheckedListBox1.Items.add("1");
CheckedListBox1.Items.add("2");
CheckedListBox1.Items.add("3");
那你是怎么做到的啊,能告诉我嘛??谢谢!!!
追答private void dgvDic_CurrentCellChanged(object sender, EventArgs e)
在这儿检查是那个位置,以显示不同的列表框
switch(dgvDic.CurrentCell.ColumnIndex)
case 0:
。。。。
break;
case 1:
。。。。
break;
定位列表框的位置大小
public static void setComboBox(ref ComboBox cmbbox, ref DataGridView dgv)
Rectangle rect = new Rectangle();
rect = dgv.GetCellDisplayRectangle(dgv.CurrentCell.ColumnIndex, dgv.CurrentCell.RowIndex, false);
cmbbox.Left = rect.Left + dgv.Left;
cmbbox.Top = rect.Top + dgv.Top;
cmbbox.Width = rect.Width;
cmbbox.Height = rect.Height;
cmbbox.Visible = true;
替换值
private void cmbPageType_SelectedIndexChanged(object sender, EventArgs e)
dgvDic.CurrentCell.Value = tabPageType.Rows[cmbPageType.SelectedIndex]["t_type"].ToString();
以上是关于C#如何获取datagridview中某一整列的数据。的主要内容,如果未能解决你的问题,请参考以下文章