Попытка заполнить ASP GridView, поскольку это источник данных, заполняется на сервере

#asp.net #gridview

#asp.net #gridview

Вопрос:

Привет, я новичок в использовании ASP.NET и GridView, и было бы здорово, если бы кто-нибудь любезно помог мне здесь.

Мой сценарий заключается в том, что при событии нажатия кнопки мой код пытается получить данные из веб-сервиса порциями в течение длительного периода времени. Теперь я создаю DataTable и заполняю его по мере извлечения каждого фрагмента. Мой вопрос в том, как мне показать в gridview все, что я извлек до сих пор, прежде чем вернется нажатие кнопки? Скажем, если у меня есть три блока, извлекаемых один за другим, то на данный момент gridview заполняется всеми данными из 3 блоков одновременно, я хочу иметь возможность отображать первый блок по мере его загрузки, затем добавлять второй блок и, наконец, третий. Не уверен, как это сделать.

Я был бы рад, если бы вы просто дали мне общее решение / указали мне на функцию asp, которую я должен использовать, чтобы это сделать. Спасибо.

Ответ №1:

Если вы привязываетесь с помощью webservice. Тогда asp: GridView создаст ненужные проблемы для вас, поскольку он предназначен для простых привязок на стороне сервера.
Почему бы вам не попробовать DataTables или jqGrid, поскольку они являются гораздо лучшими альтернативами?

Ответ №2:

Вы можете Merge изменять существующий DataTable каждый раз, когда получаете новый фрагмент из Web service , а затем привязывать обновленную (объединенную) таблицу данных к gridview.

Ознакомьтесь с этой статьей из MSDN и получите лучшее представление о том, как вы можете объединить таблицы данных

DataSet.Метод слияния (DataTable)

Также посмотрите на эту статью, которая может помочь вам в вашей текущей проблеме.

Объединение двух наборов данных в одну сетку данных

Комментарии:

1. Спасибо за предложение. Я вроде бы делаю то же самое сейчас, но я не выполняю отдельные обратные вызовы для каждого фрагмента, один обратный вызов будет охватывать загрузку нескольких фрагментов… Именно во время этого единственного обратного вызова я хочу, чтобы gridview отображал данные по мере их поступления… имеет смысл?

2. хм, это может быть проблемой. Что, если вы используете AJAX?