gpt4 book ai didi

c# - 在 Visual Studio C# 中使用 DataGridView

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:46 26 4
gpt4 key购买 nike

我有一个字符串,其中包含:“# of rows, # of columns, Row'X'Col'X'=Serial#, ...

如何创建一个定义了行数和列数的 DataGrid 表,然后将序列号放入网格中。

例子:

2,1,R1C1=111,R2C1=112,

2,2,R1C1=211,R1C2=212,R2C1=213,R2C2=214,

谢谢

最佳答案

下面是执行您所要求的代码;但是我必须指出这种方法的一些问题。首先,从前两个元素中获取总行数和列数来创建表格是有风险的。如果该数据错误,此代码很可能会崩溃或可能会遗漏数据。例如,如果输入是:2,2,RXCX=.., RXCX=.., RXCX=.., RXCX=..,RXCX=, RXCX=… 此行将仅获取前 4 个值。

更糟糕的是……这会崩溃……如果输入是 2,2,RXCX=.., RXCX=.. 那么当您尝试访问 splitArray 中的第 4 个元素时它会崩溃,因为没有第 4 个元素。无论哪种方式都不好。

我的观点是为了安全……在创建网格之前查看实际有多少数据是更好的方法。您可以通过 StringArray.Length 减去前两个元素得到有多少项。这些元素将定义维度并允许您检查它们的有效性。这将确保您的循环不会因为提供的数据错误而越界。当您可以从数据本身获取信息时,提供维度值似乎是多余且容易出错的。

我仍然不能 100% 确定您想在这里完成什么。它看起来像是某种形式的搜索。这就是我想象中的……查看您的(以前的)屏幕截图,在我看来,在您输入序列号文本框并单击“搜索 Txt 文件”按钮后,它将搜索来自输入字符串的数据,即“PLX51 ...”,然后网格显示与序列号文本框中的内容匹配(或类似)的“过滤”结果。如果这是真的,我会忽略 RXCX 值并将数据放在一个列中。然后为文本框连接一个 OnKeyPress 事件,以便在用户输入序列号文本框时过滤网格。否则我不知道为什么你需要以描述的方式创建数据。仅仅因为输入有不必要的数据......并不意味着你必须使用它。只是一个想法。

  string inputString = "2,2,R1C1=211,R1C2=212,R2C1=213,R2C2=214";
string[] splitArray = inputString.Split(',');
int totalRows = int.Parse(splitArray[0]);
int totalCols = int.Parse(splitArray[1]);
int itemIndex = 2;

// add the columns
for (int i = 0; i < totalCols; i++)
{
dataGridView1.Columns.Add("Col", "Col");
}
// add the rows
dataGridView1.Rows.Add(totalRows);


for (int i = 0; i < totalRows; i++)
{
for (int j = 0; j < totalCols; j++)
{
dataGridView1.Rows[i].Cells[j].Value = splitArray[itemIndex];
itemIndex++;
}
}

关于c# - 在 Visual Studio C# 中使用 DataGridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39841698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com