List<MyItem> items =newList<MyItem>();foreach(DataGridViewRow dr in dataGridView1.Rows){MyItem item =newMyItem();foreach(DataGridViewCell dc in dr.Cells){...build outMyItem....based on DataGridViewCell.OwningColumn and DataGridViewCell.Value}
items.Add(item);}
4
Ou une linq façon
varlist=(from row in dataGridView1.Rows.Cast<DataGridViewRow>()from cell in row.Cells.Cast<DataGridViewCell>()selectnew{//project into your new class from the row and cell vars.}).ToList();
4
Si vous liez votre liste à l'aide de la source de données, vous pouvez convertir en arrière,
varResult= dataGridView1.Rows.OfType<DataGridViewRow>().Select(
r => r.Cells.OfType<DataGridViewCell>().Select(c => c.Value).ToArray()).ToList();
ou pour obtenir une chaîne de caractères dictionnaire des valeurs
varResult= dataGridView1.Rows.OfType<DataGridViewRow>().Select(
r => r.Cells.OfType<DataGridViewCell>().ToDictionary(c => dataGridView1.Columns[c.OwningColumn].HeaderText, c =>(c.Value??"").ToString()).ToList();
0
IEnumerable.OfType<TResult> méthode d'extension peut être votre meilleur ami ici. Voici comment je l'aurais fait par le biais d'une requête LINQ:
List<MyItem> items =newList<MyItem>();
dataGridView1.Rows.OfType<DataGridViewRow>().ToList<DataGridViewRow>().ForEach(
row =>{foreach(DataGridViewCell cell in row.Cells){//I've assumed imaginary properties ColName and ColValue in MyItem class
items.Add(newMyItem{ColName= cell.OwningColumn.Name,ColValue= cell.Value});}});
Ou une linq façon
Si vous liez votre liste à l'aide de la source de données, vous pouvez convertir en arrière,
ou pour obtenir une chaîne de caractères dictionnaire des valeurs
IEnumerable.OfType<TResult>
méthode d'extension peut être votre meilleur ami ici. Voici comment je l'aurais fait par le biais d'une requête LINQ: