首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何在datagridview的一列上查找某个值的重复数量

2013-09-29 
怎么在datagridview的一列上查找某个值的重复数量datagridview没有绑定数据库,有一列姓名,其中有些是重复

怎么在datagridview的一列上查找某个值的重复数量
datagridview没有绑定数据库,有一列姓名,其中有些是重复的,怎么才能选其中一个姓名在textbox上显示这一列有多少个重复的,就是数量?求教,谢谢!
[解决办法]
本帖最后由 bdmh 于 2013-09-22 13:41:12 编辑 遍历或者用linq
[解决办法]
refer:


        private void Form1_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("name", typeof(string));
            dt.Columns.Add("age", typeof(string));

            DataRow dr = null;
            dr = dt.NewRow();
            dr["name"] = "guwei4037";
            dr["age"] = 20;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["name"] = "guwei4037";
            dr["age"] = 20;
            dt.Rows.Add(dr);

            this.dataGridView1.DataSource = dt;
            this.dataGridView1.AllowUserToAddRows = false;//设置这个为了将默认产生的行去除,否则结果多1行

            string value = "guwei4037";//假设这是你得到的点击的cell的值
            MessageBox.Show(this.dataGridView1.Rows.OfType<DataGridViewRow>().Select(x => (string)x.Cells["name"].Value == value).ToList().Count + "");//这里输出列name当中guwei4037的数量 添加了2次,所以为2
        }

[解决办法]
用LINQ最方便
 
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
textBox1.Text=dt.AsEnumerable().Where(a => a.Field<string>("姓名").Equals(dataGridView1.SelectedRows[0].Cells["姓名"].Value.ToString();)).Count();

热点排行