此代码返回错误“ System.ArgumentOutOfRangeException” 。我知道此错误,但是我的gridView有13列,并且我阅读了第2列和第4列,所以我不明白...
仅 e.Row.Cells [0] 有效,因此我无法阅读其他列。
我在论坛上看了一下,但是找不到我的问题。通常,此问题是由于该人试图读取不存在的列而引起的,这不是我的情况。
protected void grd_accident_RowDataBound(object sender, GridViewRowEventArgs e)
{
//Check CM
if (e.Row.Cells[1].Text.Equals("false"))
{
e.Row.Cells[1].Text = "<span class='glyphicon glyphicon-remove' aria-hidden='true'></span>";
}
else
{
e.Row.Cells[1].Text = "<span class='glyphicon glyphicon-ok' aria-hidden='true'></span>";
}
////Check HSE
if (e.Row.Cells[3].Text.Equals("2"))
{
e.Row.Cells[3].Text = "<span class='glyphicon glyphicon-remove' aria-hidden='true'></span>";
}
else
{
e.Row.Cells[3].Text = "<span class='glyphicon glyphicon-ok' aria-hidden='true'></span>";
}
}
如果有帮助,请访问我的gridView:
<asp:GridView ID="grd_accident" runat="server" CellPadding="4" AutoGenerateColumns="False"
AllowPaging="True"
CssClass="mGrid"
PagerStyle-CssClass="pgr"
AlternatingRowStyle-CssClass="alt" DataSourceID="ATP_rechercheRes" OnRowDataBound="grd_accident_RowDataBound" OnRowCommand="grd_accident_RowCommand">
<AlternatingRowStyle CssClass="alt"></AlternatingRowStyle>
<Columns>
<asp:BoundField DataField="columna" HeaderText="Type" SortExpression="columna" />
<asp:BoundField DataField="columnb" HeaderText="ID" ReadOnly="True" SortExpression="columnb" />
<asp:BoundField DataField="columnc" ItemStyle-Width="90px" HeaderText="Date" SortExpression="columnc" />
<asp:BoundField DataField="columnd" HeaderText="Heure" SortExpression="columnd" />
<asp:BoundField DataField="columne" HeaderText="Nom" SortExpression="columne" />
<asp:BoundField DataField="columnf" HeaderText="Prénom" SortExpression="columnf" />
<asp:BoundField DataField="columng" HeaderText="Badge" SortExpression="columng" />
<asp:BoundField DataField="columnh" HeaderText="Société" SortExpression="columnh" />
<asp:BoundField DataField="columni" HeaderText="Description" SortExpression="columni" />
<asp:BoundField DataField="columnj" ItemStyle-HorizontalAlign="Center" HeaderText="Code EPI" SortExpression="columnj" />
<asp:BoundField DataField="columnk" ItemStyle-HorizontalAlign="Center" HeaderText="Advisor" SortExpression="columnk" />
<asp:BoundField DataField="columnl" ItemStyle-HorizontalAlign="Center" HeaderText="HSE" SortExpression="columnl" />
<asp:TemplateField ItemStyle-Width="130px">
<ItemTemplate>
<asp:ImageButton ID="btn_goToAccidentInfirmiere" ImageUrl="images/infirmerie.png" Width="37px" runat="server"
CommandName="goToAccidentInfirmiere"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="Infirmière ►" />
<asp:ImageButton ID="btn_goToAccidentCm" ImageUrl="images/factory.png" Width="37px" runat="server"
CommandName="goToAccidentCm"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="CM ►" />
<asp:ImageButton ID="btn_genRapport" ImageUrl="images/rapport.png" Width="37px" runat="server" CommandName="genRap"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle CssClass="pgr"></PagerStyle>
</asp:GridView>
答案 0 :(得分:0)
我找到了解决方案,我从GridView的属性中删除了AllowPaging =“ True”。现在可以使用