[英]C# datagridview column into an array
I am building a program with c#, and have included a datagridview component into it. 我正在用c#构建一个程序,并在其中包含了一个datagridview组件。 The datagridview has a fixed amount of columns (2), which I want to save into two separate arrays.
datagridview具有固定数量的列(2),我想将其保存到两个单独的数组中。 The amount of rows does change though.
但行数确实发生了变化。 How could I do this?
我怎么能这样做?
Assuming a DataGridView named dataGridView1 and you want to copy the contents of the first two columns into Arrays of strings, you can do something like this: 假设一个名为dataGridView1的DataGridView并且您希望将前两列的内容复制到字符串数组中,您可以执行以下操作:
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++;
}
I used Jay's example and changed it to store all the rows in a single array for easy exporting. 我使用Jay的示例并将其更改为将所有行存储在单个数组中以便于导出。 At the end you can easily use LogArray[0,0] to get the string from cell 0, column 0.
最后,您可以轻松地使用LogArray [0,0]从单元格0,第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
}
I hope i helped someone with this, its my first time posting any code online, ever. 我希望我帮助过这个人,这是我第一次在网上发布任何代码。 Also i haven't coded in ages just getting started again.
此外,我还没有编码,只是重新开始。
Try this: 试试这个:
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.