ASP.NET Microsoft Visual Studio 10 - 我在设计视图25 x 25中创建了一个表。现在在页面加载时,我想将第1行第2个单元格BackColour的颜色更改为橙色。
我的桌子ID是“标签”。整个表格的背景在页面加载时不会改变。我收到这个错误:
指定的参数超出了有效值的范围。
如果我取出"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;
答案 0 :(得分:1)
您正在创建新表
Table tab1 = new Table();
这不是您在设计师中添加的那个。
您需要找到设计师添加的表的ID并更改该表。转到设计器视图并检查表的ID。例如,如果是table1
table1.BgColor = "Purple";
table1.Rows[1].Cells[2].BgColor = "Orange";
如果这是asp.net应用程序,请确保在表中设置了runat ="server"
答案 1 :(得分: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;
现在,如果您的数据源具有预期的数据,那么您将看到正面结果,
答案 2 :(得分:0)
只有在设置表DataSource后才存在行和单元格。如果你检查Rows.Count,你会看到它是0。 因此,设置DataSource,然后更改单元格的背景颜色。