2016-09-09 3 views
0

私のコードは1行の値しか取得しません。しかし、私のユーザーは多くの行にテキストを書き、JSONに書き込むためにすべての値を取得する必要があります。すべての行からどのように値を取得できますか?その場合Datagridviewはすべての行から値を取得します

var llist = new List<MyClass>(); 
var obj = new MyClass() 
{ 
    Nachricht = dataGridView1.CurrentRow.Cells["Value"].Value.ToString(), 
    Datum = dataGridView1.CurrentRow.Cells["File"].Value.ToString() 
}; 
llist.Add(obj); 
string export = JsonConvert.SerializeObject(new { types = llist }, Formatting.Indented); 
File.WriteAllText(@Settings.Default.folder + "\\" + "upload" + "\\" + "export.json", export); 

答えて

2

あなたはdataGridView1.SelectedRowsを使用してSelectedRowsプロパティから行を取得する必要があります。すべての行をループとは

foreach (DataGridViewRow row in dataGridView1.SelectedRows) 
{ 
    //whatever you are currently doing 
} 
1

可能な重複のようなあなたの処理を行います。あなたは、各行を取得するには、データグリッドコレクションをループにする必要があります Looping each row in datagridview

//Setup list object 
var llist = new List<MyClass>(); 
//Loop through datagridview rows 
foreach (DataGridViewRow row in dataGridView1.Rows) 
{ 
    var obj = new MyClass() 
     { 
      Nachricht = dataGridView1.row.Cells["Value"].Value.ToString(), 
      Datum = dataGridView1.row.Cells["File"].Value.ToString() 
     }; 
     llist.Add(obj); 
} 
//Write out JSON file 
string export = JsonConvert.SerializeObject(new { types = llist }, Formatting.Indented); 
File.WriteAllText(@Settings.Default.folder + "\\" + "upload" + "\\" + "export.json", export); 
+0

var llist =新しいリスト(); foreachの(dataGridView1.RowsでDataGridViewRow行) {VAR OBJ =新しいNachrichten_Felder(){ Nachricht = row.Cells [ "Nachricht"]。Value.ToString()、 データム= row.Cells [ "データム" ] .Value.ToString() }; llist.Add(obj); }突然終了します。ログに「system.NullReference Exception」が表示されます。 – Francis

0

。このようなもの:

Foreach(DataGridViewRow dgvr in DataGridView1.Rows) 
{ 
    var obj = new MyClass() 
    { 
     Nachricht = dgrv.Cells["Value"].Value.ToString(), 
     Datum = dgrv.CurrentRow.Cells["File"].Value.ToString() 
    } 
    llist.Add(obj); 
} 
関連する問題