Как управлять большим объемом данных в GridView - PullRequest
0 голосов
/ 07 мая 2019

У меня есть таблица с 10000 записями, поэтому я хочу вызвать только 15 записей за один раз, используя хранимую процедуру.

При следующем вызове вызовите только следующие 15 записей и включите ...

Пожалуйста, помогите мне !! ... Если возможно, дайте код с примером и хранимой процедурой ... Спасибо !!!

1 Ответ

0 голосов
/ 07 мая 2019

Используйте подкачку в gridview как AllowPaging = "true", затем используйте событие OnPageIndexChanging и предоставьте нам PageSize, см. Пример ниже

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" AllowPaging="true"
                OnPageIndexChanging="OnPageIndexChanging" PageSize="10">
                <Columns>
                    <asp:BoundField ItemStyle-Width="150px" DataField="Column_Name" HeaderText="Header Name" />
                    <asp:BoundField ItemStyle-Width="150px" DataField="Column_Name" HeaderText="Header Name" />
                    <asp:BoundField ItemStyle-Width="150px" DataField="Column_Name" HeaderText="Header Name" />
                </Columns>
            </asp:GridView>

Теперь свяжите сетку с базой данных на Page_LoadСобытие

     protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    BindGrid();
                }
            }

        private void BindGrid()
        {
            string conStr = @"Your connection string here";
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlCommand cmd = new SqlCommand("SELECT * FROM Table_Name"))
                {
                    using (SqlDataAdapter sda = new SqlDataAdapter())
                    {
                        cmd.Connection = con;
                        sda.SelectCommand = cmd;
                        using (DataTable dt = new DataTable())
                        {
                            sda.Fill(dt);
                            GridView1.DataSource = dt;
                            GridView1.DataBind();
                        }
                    }
                }
            }
        }

для страниц, использующих newPageIndex для события OnPageIndexChanging

    protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        BindGrid();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...