Ben C# ile bir program yapıyorum ve içine bir datagridview bileşeni ekledim. Datagridview, iki ayrı diziye kaydetmek istediğim sabit miktarda sütun (2) içerir. Satırların miktarı olsa da değişiyor. Bunu nasıl yapabilirim?C# datagridview sütununa bir dizi içine
cevap
bu deneyin: dataGridView1 adında bir DataGridView varsayarsak
ArrayList col1Items = new ArrayList();
ArrayList col2Items = new ArrayList();
foreach(DataGridViewRow dr in dgv_Data.Rows)
{
col1Items.Add(dr.Cells[0].Value);
col2Items.Add(dr.Cells[1].Value);
}
ve sen, sen böyle bir şey yapabileceği dizeleri Diziler içine ilk iki sütun içeriğini kopyalamak istediğiniz:
string[] column0Array = new string[dataGridView1.Rows.Count];
string[] column1Array = new string[dataGridView1.Rows.Count];
int i = 0;
foreach (DataGridViewRow row in dataGridView1.Rows) {
column0Array[i] = row.Cells[0].Value != null ? row.Cells[0].Value.ToString() : string.Empty;
column1Array[i] = row.Cells[1].Value != null ? row.Cells[1].Value.ToString() : string.Empty;
i++;
}
+1, muhtemelen biraz daha verimli. –
@AA elbette .NET 2.0+ kullanıyorsa, bir Array veya ArrayList yerine Liste
Benim tarafımdan doğru, ama koleksiyonunuzun uzunluğunu elden önce bildiğiniz takdirde, bir Array kullanmak için genellikle daha iyi/daha verimli olduğunu düşünüyorsanız (performans artışı göze çarpmayabilir). –
Jay'in örneğini kullandım ve tüm satırları kolay dışa aktarmak için tek bir dizide saklamak için değiştirdim. Kolayca [0,0] hücreden 0 dan dize almak için LogArray kullanabilirsiniz sonunda , kolon 0.
// create array big enough for all the rows and columns in the grid
string[,] LogArray = new string[dataGridView1.Rows.Count, dataGridView1.Columns.Count];
int i = 0;
int x = 0;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
while (x < dataGridView1.Columns.Count)
{
LogArray[i, x] = row.Cells[x].Value != null ? row.Cells[x].Value.ToString() : string.Empty;
x++;
}
x = 0;
i++; //next row
}
Ben bu birisiyle yardımcı umut, onun ilk kez çevrimiçi herhangi bir kod gönderme, hiç . Ayrıca tekrar başladığım çağlarda kodlamadım.
- 1. excelfile "* .xlsx" den bir dizi içine C#
- 2. C# DataGridView
- 3. PostgreSQL dizi sütununa COPY (içe aktarma) verileri
- 4. Çok "sütun" DataGridView C#
- 5. C# Shuffling DataGridView Satırları
- 6. C#/NET, DataGridView
- 7. C# Datagridview - Row Kontrol
- 8. Bir DataGridView
- 9. Bölünmüş birden diziler içine bir dizi
- 10. MongoDB: C# içine yuvalanmış dizi ile toplama nasıl yüklenir?
- 11. WinForms C# DataGridView zorla yenilemek
- 12. DataGridView combobox hücre olayı C#
- 13. DataGridView
- 14. DataGridView
- 15. DataGridView
- 16. datagridview
- 17. DataGridView
- 18. DataGridView
- 19. nasıl bir çerez içine bir dizi saklamak için?
- 20. C++ içine yerleştirme Lua
- 21. C++ sayımlarını C içine alma C#
- 22. Php: tüm dizi öğelerinin içine Concatenate dize
- 23. C# bir dizi kontrol yaratın
- 24. C# linq - farklı bir dizi
- 25. Bir DataGridView öğesinin son sütununu
- 26. WinForm uygulamasında DataGridView sıralanırken seçili satırlar
- 27. C# içinde DataGridView içinde arama işlevi?
- 28. C# içinde dataGridView sütunlarını sırala? (Windows Form)
- 29. DataGridView C# 4.0 Uygulamamda maksimum sütun boyutu
- 30. C# DataGridView varsayılan * satırı nasıl gizlenir?
Jay'in kodunu kullanırken ilk hatayı aldıktan sonra, bunu denedim - ve aslında işe yaradı. Ancak, Jay'in daha verimli olduğunu söylerseniz, muhtemelen denemeye devam edeceğim! – Xedfire