无法选择我的gridview数据行

时间:2013-09-04 02:03:15

标签: c# asp.net gridview

我在我的asp.net webapp中添加了一个gridview。我还在gridview中添加了一个选择按钮。但是,当我单击gridview中的选择按钮时,我收到此错误

enter image description here

这是我的gridview代码

<asp:GridView ID="gvnric" runat="server"  Align="Center" Width="30%" 
        BackColor="#CCCCCC" AllowSorting="true" OnSorting="gvnric_Sorting" 
        BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" 
        CellSpacing="2" ForeColor="Black" AutoGenerateSelectButton="True" 
        OnSelectedIndexChanged="gvnric_SelectedIndexChanged" AllowPaging="True" 
        PageSize="5" OnPageIndexChanging="gvnric_PageIndexChanging">
        <FooterStyle BackColor="#CCCCCC" />
        <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
        <RowStyle BackColor="White" />
        <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
        <SortedAscendingCellStyle BackColor="#F1F1F1" /> 
        <SortedAscendingHeaderStyle BackColor="#808080" />
        <SortedDescendingCellStyle BackColor="#CAC9C9" />
        <SortedDescendingHeaderStyle BackColor="#383838" />
        </asp:GridView>      

我的gridview代码的这种格式对我的其他页面很好,但不适用于我当前的格式。为什么会这样?

这是我在gridview中使用loadgrid绑定数据的方法。我使用此loadgrid进行分页

private void LoadGrid()
    {

        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        //conn.ConnectionString = "Data Source = localhost; Initial Catalog = MajorProject; Integrated Security= SSPI";
        conn.Open();

        DataSet ds = new DataSet();

        SqlDataAdapter da = new SqlDataAdapter("Select nric as [NRIC] from MemberAccount Where status = 'unverified'", conn);
        da.Fill(ds);

        gvnric.DataSource = ds.Copy();
        gvnric.DataBind();

        conn.Close();

    }

我还使用DataBindByDataSet重新绑定它。这次是用于gridview排序

private DataTable DataBindByDataSet()
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        //conn.ConnectionString = "Data Source = localhost; Initial Catalog = MajorProject; Integrated Security= SSPI";
        conn.Open();

        DataSet ds = new DataSet();

        SqlDataAdapter da = new SqlDataAdapter("Select nric as [NRIC] from MemberAccount Where status = 'unverified'", conn);
        da.Fill(ds);

        conn.Close();

        return ds.Tables[0];
    }

我的所有其他页面也使用2种不同的绑定方式,这有助于分页和排序,但不适用于此gridview。对于loadgrid和databindbydataset,绑定代码实际上是相同的,但每个都有不同的用途。 我发现这个link提出了类似问题,但没有帮助。

1 个答案:

答案 0 :(得分:0)

GridView的SelectedIndexChanged代码检测行错误。