![](/img/trans.png)
[英]Receving this error when trying to display specific data from database to datagridview
[英]error when trying to display 1 as YES from database
我在一个名为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#代码
您是否在到达IF语句之前调试并检查了“索引”的值? 确定网格视图中标题为ActDefect的列可能是一个问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.