1

ASP.NET Microsoft Visual Studio 10 - 我在设计视图 25 x 25 中创建了一个表。现在在页面加载时,我想将第 1 行第 2 单元格背景颜色的颜色更改为橙​​色。

我的表 ID 是“tab”。我的整个表格的背景在页面加载时不会改变。我收到此错误:

指定的参数超出了有效值的范围。

如果我取出"tab1.Rows[1].Cells[2].BackColor = Color.Orange;"但表格背景颜色仍然不是紫色,则没有错误。

   Table tab1 = new Table();
   tab1.ID = "tab";

   tab1.BackColor = Color.Purple;
   tab1.Rows[1].Cells[2].BackColor = Color.Orange;
4

3 回答 3

1

您正在创建新表

Table tab1 = new Table();

这不是您在设计器中添加的。

您需要找到设计人员添加的表的 id 并更改该表。转到设计器视图并检查表的 ID。例如,如果它是table1

table1.BgColor = "Purple";
table1.Rows[1].Cells[2].BgColor = "Orange";

如果这是 asp.net 应用程序,请确保您已runat ="server"在表中设置

于 2013-05-07T07:05:23.043 回答
1

Specified argument was out of the range of valid values.

错误即将到来,因为现在您的表没有任何cell/ data.

要分配表格的颜色Row[1]cell[2]需要有Row[1]cell[2].

因此,在为单元格分配颜色之前,请先给您的表格datasource,然后尝试更改单元格的背景颜色。

假设ds是你的datasource 那时,

Table tab1 = new Table();
tab1.ID = "tab";
tab1.runat = "server";
tab1.DataSource = ds;
tab1.BackColor = Color.Purple;
tab1.Rows[1].Cells[2].BackColor = Color.Orange;

现在,如果您的数据源具有预期的数据量,那么您将看到积极的结果,

于 2013-05-07T07:31:27.923 回答
0

行和单元格仅在您设置表数据源后才存在。如果你检查 Rows.Count 你会看到它是 0。所以设置 DataSource 然后改变你的单元格的背景颜色。

于 2013-05-07T07:04:32.603 回答