0

次のコードがありますが、リストはデータグリッドから正確な値を取得していません。

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;
    }
4

2 に答える 2

0

あなたがする必要があるのは移動することだけだと思います:

double[] cellsData = new double[numCols];

ループの開始内に。現時点では、反復ごとに配列の同じインスタンスを使用しています。

于 2013-05-04T17:02:46.957 に答える
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;
    }
于 2013-05-04T17:08:49.957 に答える