gridview слишком медленно 12000 записей
У меня есть чистый gridview, который я заполняю в page_load. это мой код для заполнения сетки.
private void populateGrid()
{
test.RH_WebServiceService ligar = new test.RH_WebService();
test.listaBasePes[] dados = ligar.getAllDadosBase();
DataTable dt = new DataTable();
DataColumn dCol1 = new DataColumn("numer", typeof(System.String));
DataColumn dCol2 = new DataColumn("name", typeof(System.String));
DataColumn dCol3 = new DataColumn("quadro", typeof(System.String));
DataColumn dCol4 = new DataColumn("class", typeof(System.String));
dt.Columns.Add(dCol1);
dt.Columns.Add(dCol2);
dt.Columns.Add(dCol3);
dt.Columns.Add(dCol4);
for (int i = 0; i <= dados.Length; i++)
{
test.desQuadro[] cargo = ligar.getDesQuadro(dados[i].quadro);
test.desClasse[] classe = ligar.getDesClasse(dados[i].classe);
DataRow row = dt.NewRow();
row[dCol1] = dados[i].nii;
row[dCol2] = dados[i].nome;
row[dCol3] = cargo[0].desquadro;
row[dCol4] = classe[0].desclasse;
dt.Rows.Add(row);
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
Что я делаю в приведенном выше коде: я обращаюсь к веб-сервису, чтобы получить все данные из 12000 записей, а затем собираю поля quadro и classe (которые являются идентификаторами) и использую их для обращения к другому веб-сервису, который даст мне его имена вместо IDS. затем я сохраняю его в таблицу данных для последующего связывания с сеткой.
Я попытался активировать пейджинг, но это не имеет значения, так как пейджинг, который поставляется с gridview, загружает каждую запись каждый раз, когда я меняю страницу.
не знаю, правильно ли я объяснил, так как английский не мой основной язык. Я должен уйти сейчас, но зайду сюда позже, чтобы проверить некоторые ответы.
РЕДАКТИРОВАТЬ: моя цель состоит в том, чтобы попытаться сделать загрузку страницы быстрее, так как загрузка занимает много времени