尝试从数据库中将1显示为YES时出错
本文关键字:显示 YES 出错 数据库 | 更新日期: 2023-09-27 17:59:37
我在一个名为ActDefect的数据库中有一列显示null或1。在我的GridView中,我希望它显示YES而不是1,如果为null,则显示NO。但我得到了这个错误:
指定的参数超出了有效值的范围。参数名称:索引
这是ActDefect的代码:
<asp:BoundField DataField="ActDefect" HeaderText="Defects" SortExpression="ActDefect"></asp:BoundField>
int index = gv.Columns.HeaderIndex("ActDefect");
if (main.ActDefect != null)
{
e.Row.Cells[index].Text = "YES";
}
else
{
e.Row.Cells[index].Text = "NO";
}
它说错误在e.Row.Cells[index].Text = "YES";
行
您可以尝试更改此
int index = gv.Columns.HeaderIndex("ActDefect");
到这个
int index = gv.Columns.HeaderIndex("Defects");
此外,如果这不起作用,则改为:
<asp:BoundField DataField="ActDefect" HeaderText="Defects" SortExpression="ActDefect"></asp:BoundField>
写这个
<asp:TemplateField HeaderText="Defects">
<ItemTemplate>
<asp:Label Text='<%# String.IsNullOrEmpty(Eval("ActDefect").ToString()) ? "No" : "Yes" %>' runat="server" id="myID"/>
</ItemTemplate>
</asp:TemplateField>
并且您可以删除您的C#代码
在"index"的值到达IF语句之前,您是否对其进行了去错误和检查?在网格视图中确定标题为ActDefect的列可能有问题