Как добавить информацию общего количества страниц и строк в нижний колонтитул gridview c # - PullRequest
0 голосов
/ 27 июня 2019

У меня проблема при добавлении информации об общем количестве страниц и общем количестве строк в сетке нижнего колонтитула,

Это мой HTML-код;

<asp:GridView ID="GridView1" runat="server"
        onpageindexchanging="GridView1_PageIndexChanging" AllowPaging="True" 
        BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" 
        CellPadding="3" AutoGenerateColumns="False" Width="500px">

        <Columns>
            <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="SupplierId" DataField="SupplierId">
                <ItemStyle Width="100px"></ItemStyle>
            </asp:BoundField>
        </Columns>

        <PagerSettings FirstPageText="First" LastPageText="Last" PageButtonCount="7" Mode="NumericFirstLast" />
        <RowStyle ForeColor="#000066" />
        <FooterStyle BackColor="White" ForeColor="#000066" />
        <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
        <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
    </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);
        }
        //Script row ~10
        GridView1.DataSource = ds;
        GridView1.DataBind();
        con.Close();  

    }

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        BindData();  
    }

Мой обзор сетки

В этой моей проблеме я не нашел способа добавить информацию всего страниц и строк

Кто-нибудь может улучшить мой код.

1 Ответ

0 голосов
/ 27 июня 2019

вызовите это в вашем методе привязки

int TotalRecord = ds.Rows.Count(); //This is total number of records in gridview
GridView1.DataSource = ds;
GridView1.DataBind();

позже вы можете назвать это Totalrecord на ярлыке или что-то, что вы хотите добавить в свой обзор сетки, см. Также: https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.gridviewrowcollection.count?view=netframework-4.8

...