2012-04-04 11 views
-1

しかし、何も情報を見つけることができません。時間に制限されています。C#テーブルをDataGridから作成する(2フィールドのみ)

私はDatagridview、6フィールドを持っています。

私は、これらのフィールドのうちの2つだけを含むDatatableを作成する必要があります。

フィールドはパーツとパレートです。

私はすべてのレコードが必要ですが、私のDatatableのフィールドのうち2つだけが必要です。ちょうどあなたがすべての行から必要なセルを追加Cシャープ.NET 4.0およびMicrosoft Visual Studioの2010

答えて

2
foreach(DataGridViewRow row in myDataGridView.Rows) 
{ 
     DataRow tableRow = myDataTable.NewRow(); 
     tableRow.Cells["part"].value = row["part"].value; 
     tableRow.Cells["pareto"].value = row["pareto"].value; 
     myDataTable.Rows.Add(tableRow); 
} 

このようなものがあります。 DataTableに適切な行があることを確認してください。

+0

今私は前にこのバージョンを試しましたが、foreachでエラーが発生しました。 DataGridviewにGetEnumeratorのパブリック定義が含まれていないため、Foreachが動作しません " – lemunk

+0

DataGridview.Rowsは終了しますか?最後に.Rowsを追加してもよろしいですか? – Dan

+0

ああ私の間違いは間違って、エラー: 'オブジェクト'に '値'の定義が含まれておらず、 '値'の定義が含まれていません。タイプ 'オブジェクトの最初の引数を受け取ります'が見つかりませんでした(使用しているディレクティブまたはアセンブリ参照がありませんか? – lemunk

2
DataGridViewRowCollection coll = dataGridView1.Rows; 

DataTable t = new DataTable(); 

t.Columns.Add(); 

foreach (DataGridViewRow item in coll) 

{ 
    t.Rows.Add(item.Cells[0].Value); 
} 

を使用して

。列をフィルタリングするだけです。

+0

これは興味がありますが、2つのフィールドがある場合はどうすればよいですか?あなたの割り当てがない個々のセルのループですか? – lemunk

+0

これはdatagrdiview.rowsもループしているので、セルではなく行をループしています。セル。[0]は最初のセルを取得しています、item.Cells [1]は2番目のセルを取得します... – Dan

+0

yeh私は金髪の瞬間を持っていました。 – lemunk

関連する問題