C# 如果行中没有数据Asp.net c,如何在Gridview中显示可见按钮链接

C# 如果行中没有数据Asp.net c,如何在Gridview中显示可见按钮链接,c#,asp.net,gridview,C#,Asp.net,Gridview,如果行中没有数据,则gridview中的不可见链接按钮存在问题 我的Html代码: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="700px" AllowPaging="True" onpageindexchanging="GridView1_PageIndexChanging" DataKeyNames="ProductId"

如果行中没有数据,则gridview中的不可见链接按钮存在问题

我的Html代码:

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        Width="700px" AllowPaging="True" 
        onpageindexchanging="GridView1_PageIndexChanging" DataKeyNames="ProductId" 
        onselectedindexchanged="GridView1_SelectedIndexChanged">
     <Columns>
            <asp:ButtonField Text="view" CommandName="Select">
                <ItemStyle Width="100px" />
            </asp:ButtonField>
            <asp:BoundField HeaderText="ProductId" DataField="ProductId" >
                 <ItemStyle Width="100px" />
            </asp:BoundField>
            <asp:BoundField HeaderText="ProductName" DataField="ProductName">
                <ItemStyle Width="300px"></ItemStyle>
            </asp:BoundField>
            <asp:BoundField HeaderText="QuantityPerUnit" DataField="QuantityPerUnit">
                <ItemStyle Width="200px"></ItemStyle>
            </asp:BoundField>
   </Columns>
   </asp:GridView>
我的Aspx代码:

    public void BindData()
    {
        string strConnection = @"Data Source=.\sa;Initial Catalog=Northwind;Integrated Security=SSPI;";

        SqlConnection con = new SqlConnection(strConnection);
        con.Open();
        SqlCommand cmd = new SqlCommand("select ProductId, ProductName, SupplierId from Products", con);
        DataSet ds = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        //Script row 10
        int rowcount = ds.Tables[0].Rows.Count;
        int remainingCount = 10 - (rowcount % 10);
        for (int i = 0; i < remainingCount; i++)
        {
            DataRow row = ds.Tables[0].NewRow();
            ds.Tables[0].Rows.Add(row);
        }

        GridView1.DataSource = ds;
        GridView1.DataBind();
        con.Close();  
    }

任何人都可以改进我的代码。

如果我正确理解了问题,您可以通过rowdatabound解决它。

您是否检查了ds.表[0]中的行数?int remainingCount=10的目的是什么-行计数%10;以及在表中添加空行?如果在表中插入空行,那么它将在GridView中显示为空…为什么要添加不必要的行?