Das angegebene argument lag außerhalb des Bereichs Gültiger Werte. Parameter name: index

Muss ich deaktivieren das hyperlink im gridview-je nach Ergebnis der Bedingung in meinem code, aber ich bekomme immer eine Fehlermeldung von Specified argument was out of the range of valid values. Parameter name: index

hier ist mein gridview:

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" 
    AllowPaging="True" DataKeyNames="v_id" 
    AutoGenerateColumns="False" AllowSorting="True" CellPadding="4" 
    CssClass="gridview">
    <RowStyle BackColor="#EFF3FB"/>
        <Columns>
            <asp:BoundField DataField="ship_name" HeaderText="Vessel Name" SortExpression="ship_name">
            <HeaderStyle CssClass ="tblheader2" />
            </asp:BoundField>
            <asp:BoundField DataField="gross_tonnage" HeaderText="Gross Tonnage" SortExpression="gross_tonnage">
            <HeaderStyle CssClass ="tblheader2" />
            </asp:BoundField>
            <asp:BoundField DataField="regional_homeport" HeaderText="Region" SortExpression="region">
            <HeaderStyle CssClass ="tblheader2" />
            </asp:BoundField>
            <asp:BoundField DataField="owner_name" HeaderText="Owner" SortExpression="owner_name">
            <HeaderStyle CssClass ="tblheader2" />
            </asp:BoundField>
            <asp:BoundField DataField="cfvgl_validity_start" HeaderText="Date Issued" SortExpression="cfvgl_validity_start" DataFormatString="{0:d}">
            <HeaderStyle CssClass ="tblheader2" />
            </asp:BoundField>
            <asp:BoundField DataField="cfvgl_validity_end" HeaderText="Expiry Date" SortExpression="cfvgl_validity_end" DataFormatString="{0:d}">
            <HeaderStyle CssClass ="tblheader2" />
            </asp:BoundField>
             <asp:CommandField EditText="Select" ControlStyle-font-Underline="false" HeaderText ="View History" ControlStyle-forecolor="blue"  ShowSelectButton="True"  SelectText="History" ItemStyle-CssClass="links">
            <HeaderStyle  CssClass ="tblheader2"/>
            </asp:CommandField >

            <asp:TemplateField>
                <ItemTemplate >
                    <asp:HyperLink ID="cfvgl" runat ="server" Target ="_blank" NavigateUrl ='<%# Eval("v_id", "~/frqd/printBFARCFVGL.aspx?CFVGLVesselID={0}")%>' Font-Underline = "false" ForeColor ="blue" CssClass ="links" >CFVGL</asp:HyperLink>
                </ItemTemplate>
                <HeaderStyle CssClass ="tblheader2" />
            </asp:TemplateField>

            <asp:TemplateField>
                <ItemTemplate>
                     <%--FGRVesselID query  string of crystal report--%>
                    <asp:Hyperlink ID="fgr" runat="server" Target ="_blank" NavigateUrl='<%#Eval("v_id", "~/operator/printBFARFGR.aspx?FGRVesselID={0}") %>' Text ="FGR" font-underline="false" ForeColor="blue" CssClass="links"></asp:Hyperlink>
                </Itemtemplate>
                <HeaderStyle CssClass ="tblheader2" />
            </asp:TemplateField>

            <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton2" runat="server" CssClass ="links" ForeColor ="blue" Font-Underline ="false" Width ="100px" PostBackUrl="#openModal">Add Violation</asp:LinkButton>
                    </ItemTemplate>
                    <HeaderStyle CssClass ="tblheader2" />
            </asp:TemplateField>

            <asp:BoundField DataField="vessel_type" HeaderText="Vessel Type" SortExpression="vessel_type">
            <HeaderStyle CssClass ="tblheader2" />
            </asp:BoundField>
        </Columns>
    <FooterStyle CssClass="gridviewfooter"/>
    <PagerStyle CssClass="gridviewfooter" ForeColor="White" HorizontalAlign="Center" />
    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    <EditRowStyle BackColor="#2461BF" />
    <AlternatingRowStyle BackColor="White" />
    <RowStyle CssClass="gridviewrow"/>
    <EmptyDataTemplate>There are no records to display.</EmptyDataTemplate>
</asp:GridView>

Hier ist mein code hinter:

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
    Dim vesseltype As String = e.Row.Cells(10).Text

    Select Case vesseltype
        Case 1
            e.Row.Cells(10).Text = "Catcher"
        Case 2
            e.Row.Cells(10).Text = "Carrier"
        Case 3
            e.Row.Cells(10).Text = "Escortboat"
        Case 4
            e.Row.Cells(10).Text = "Sonarboat"
        Case 5
            e.Row.Cells(10).Text = "Lightboat"
        Case 6
            e.Row.Cells(10).Text = "Ranger Boat"
        Case 7
            e.Row.Cells(10).Text = "Skiffboat"
        Case 8
            e.Row.Cells(10).Text = "Tanker"
    End Select

    If e.Row.Cells(10).Text = "Catcher" Then
        e.Row.Cells(9).Enabled = True
    Else
        e.Row.Cells(9).Enabled = False
        e.Row.Cells(9).Text = "N/A"
    End If
End Sub
  • Welche Zeile den Fehler auslöst?
  • Wenn e.Zeile.Zellen(10).Text = "Catcher" Dann
  • überprüfen Sie Ihre Zellzahl mit e.Zeile.Zellen.Zählen
  • ich habe bereits überprüft, dass die Zeilenanzahl .. die Zeilenanzahl abgestimmt .. aber immer noch da ist der Fehler ..
  • "die Zeilenanzahl abgestimmt", was?
  • ich meine die Zeilenanzahl im code verwendet hinter abgestimmt sein Zeilenanzahl in der gridview

InformationsquelleAutor Danbo | 2014-08-13
Schreibe einen Kommentar