Я программно создал 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>