获取datagridview不同的列值

时间:2017-10-28 16:34:36

标签: c# winforms

我使用下面的代码从Datatable获取不同的值。这很慢。凭借9000个独特的价值观,我在2分钟后停止了阅读。是否可以更快地完成它?

private void GetWaarde(string Veldnaam)
        {
            if (DatatabelExport.Rows.Count > 0)
            {
                Cursor.Current = Cursors.WaitCursor;
                DataGridViewComboBoxColumn cb = (DataGridViewComboBoxColumn)dataGridView3.Columns["Waarde"];
                if (cb.Items.ToString() != "")  //als veld Waarde al gevuld is dan niet opnieuw vullen
                {
                    var x = (from r in DatatabelExport.AsEnumerable()
                             select r[dataGridView1.Columns[Veldnaam].Name]).Distinct().ToList();

                    for (int i = 0; i < x.Count - 1; i++)
                    {
                        cb.Items.Add(x[i].ToString());
                    }
                }
                cb.Dispose();
                Cursor.Current = Cursors.Default;
            }
        } 

1 个答案:

答案 0 :(得分:0)

首先使用.DataSource将其转换为 DataTable ;并使用此 DataTable 来提取数据。