我们如何以编程方式将数据从datagrid添加到列表?

时间:2013-05-04 16:52:47

标签: c# .net list datagrid

我有以下代码,但列表没有从datagrid中获取确切的值。

public List<double[]> ExtractGridData(DataGridView grid)
    {
        int numCols = grid.Columns.Count;
        List<double[]> list = new List<double[]>();

            double[] cellsData = new double[numCols];
            foreach (DataGridViewCell cell in grid.SelectedCells)
            {
                if (cell.Value != null)
                    cellsData[cell.RowIndex] = Convert.ToDouble(cell.Value);
                    list.Add(cellsData);
            }

        return list;
    }

2 个答案:

答案 0 :(得分:0)

认为你需要做的就是搬家:

double[] cellsData = new double[numCols];

在你的循环开始之内。目前,您每次迭代都使用相同的数组实例。

答案 1 :(得分:0)

尝试将此代码作为特定列的网格提取数据

 public List<double> ExtractGridData(DataGridView grid)
    {
        int numCols = grid.Columns.Count;
        List<double> list = new List<double>();
        int i = 0;
        double[] cellsData = new double[numCols];
        foreach (DataGridViewRow row in grid.SelectedRows)
        {
            if(row.Cells[2].Value != null)
            {
            string value = row.Cells[2].Value.ToString();// third columnn of Grid as            //Example



            list.Add(Convert.ToDouble(value));
            }  


        }


        return list;
    }