我正在使用gridview控件 我必须插入gridview列动态我插入像
这样的行值我必须插入gridview列动态我插入像
这样的行值string[,] mularray = {
{"F_1","F_2","F_3","F_4","F_5","F_6"}
};
foreach (string names in mularray)
{
for (int i = 0; i < 1; i++)
{
dt.Rows[dt.Rows.Count - 1]["10:00-11:00"] = mularray[i, 0];
dt.Rows[dt.Rows.Count - 1]["11:00-12:00"] = mularray[i, 1];
dt.Rows[dt.Rows.Count - 1]["12:00-01:00"] = mularray[i, 2];
dt.Rows[dt.Rows.Count - 1]["02:00-03:00"] = mularray[i, 3];
dt.Rows[dt.Rows.Count - 1]["03:00-04:00"] = mularray[i, 4];
dt.Rows[dt.Rows.Count - 1]["04:00-05:00"] = mularray[i, 5];
}
}
当我使用它但它插入最后一行时,如图中所示
下一行的值应该像F-2,F-3,F_4,F_5,F_6,F_1
那样增加,然后像这样做
答案 0 :(得分:1)
如果我理解正确,你应该能够做到如下简单的事情:
string[,] mularray =
{
{"F_1","F_2","F_3","F_4","F_5","F_6"},
{"F_2","F_3","F_4","F_5","F_6","F_1"},
{"F_3","F_4","F_5","F_6","F_1","F_2"},
{"F_4","F_5","F_6","F_1","F_2","F_3"},
{"F_5","F_6","F_1","F_2","F_3","F_4"},
{"F_6","F_1","F_2","F_3","F_4","F_5"}
};
for (int i = 0; i < mularray.GetLength(0); i++)
{
for (int j = 0; j < mularray.GetLength(1); j++)
{
dt.Rows[i]["10:00-11:00"] = mularray[j, 0];
dt.Rows[i]["11:00-12:00"] = mularray[j, 1];
dt.Rows[i]["12:00-01:00"] = mularray[j, 2];
dt.Rows[i]["02:00-03:00"] = mularray[j, 3];
dt.Rows[i]["03:00-04:00"] = mularray[j, 4];
dt.Rows[i]["04:00-05:00"] = mularray[j, 5];
}
}
这会在两个维度中迭代mularray
。它将mularray
(由迭代器i
定义)的每一行分配给DataTable dt
。它使用原始循环(使用迭代器j
重新定义),为当前行中的每个单元格分配值。
同样,如果您只是尝试输入单行并在每次迭代期间自动向右移动元素,则可以简化此操作。您可以使用模运算符(%
)来使元素循环,并使用偏移量来选择正确的值。
string[] mularray = { "F_1", "F_2", "F_3", "F_4", "F_5", "F_6" };
for (int i = 0; i < 6; i++)
{
dt.Rows[i]["10:00-11:00"] = mularray[i];
dt.Rows[i]["11:00-12:00"] = mularray[(i + 1) % 6];
dt.Rows[i]["12:00-01:00"] = mularray[(i + 2) % 6];
dt.Rows[i]["02:00-03:00"] = mularray[(i + 3) % 6];
dt.Rows[i]["03:00-04:00"] = mularray[(i + 4) % 6];
dt.Rows[i]["04:00-05:00"] = mularray[(i + 5) % 6];
}
在这种情况下,mularray
已更改为单维string
数组,因为这两个维度都不是必需的。现在,元素由计算的索引选择,使用(i + 1) % 6
来表示{1, 2, 3, 4, 5, 0}
的模式。同样,(i + 2) % 6
代表{2, 3, 4, 5, 0, 1}
可以选择下一个元素。第一个元素不需要使用模数,因为它使用的i
已经代表{0, 1, 2, 3, 4, 5}
。