Привязка данных для Gridview очень медленная - PullRequest
0 голосов
/ 31 мая 2019

Я программно создал DataTable с 20 строками и 3 столбцами.Я хочу отобразить эти данные, но для выполнения метода GridView.DataBind() требуется около 7 секунд.

Это мой код:

private void fill_gvTable()
    {
        DataTable dt = new DataTable();

        dt.Clear();
        dt.Columns.Add("Username");
        dt.Columns.Add("CompanyName");
        dt.Columns.Add("Street");

        DataRow row;
        for(int i = 0; i < 20; i++)
        {
            row = dt.NewRow();
            row["Username"] = "Ravi" + i;
            row["CompanyName"] = "5000" + i;
            row["Street"] = i.ToString();
            dt.Rows.Add(row);
        }

        gvTable.DataSource = dt;

        gvTable.DataBind();
    }

А это мой GridView:

<asp:GridView ID="gvTable" runat="server" AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanging="gvTable_PageIndexChanging" PageSize="15" OnRowDataBound="gvTable_RowDataBound" CellPadding="4" ForeColor="#333333" GridLines="None" OnSelectedIndexChanging="gvTable_SelectedIndexChanging" style="margin-top: 0px">
                        <AlternatingRowStyle BackColor="White" />
                        <Columns>
                            <asp:TemplateField HeaderText="Username">
                                <ItemTemplate>
                                    <asp:Label ID="lblUsername" runat="server" Text='<%# Bind("Username") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="CompanyName">
                                <ItemTemplate>
                                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("CompanyName") %>'/>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Street">
                                <ItemTemplate>
                                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("Street") %>'/>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...