Как вы управляете данными Infragistics WebGrid из кода JavaScript / Ajax?

StackOverflow https://stackoverflow.com/questions/232020

Вопрос

Я работаю над проектом, в котором мне нужно использовать элемент управления Infragistics WebGrid для некоторых списков данных. Я загружаю данные на стороне клиента, используя JavaScript для отображения на карте, а затем мне нужно отобразить эти же данные в нескольких WebGrids. Все доступные данные будут отображаться в WebGrids, но в любой момент времени на карте будет отображаться только подмножество данных (только те, которые в данный момент находятся в поле зрения). Поскольку я загружаю данные с помощью JavaScript / Ajax, я хотел бы загрузить их только один раз и использовать тот же механизм для заполнения элемента управления WebGrid данными.

Есть ли у кого-нибудь какие-либо советы / указания по работе с WebGrid полностью из клиентского JavaScript / Ajax-кода?

Это было полезно?

Решение

Единственная мысль, которая приходит на ум, связана с производительностью. Мы обнаружили, что динамическое создание и заполнение строк для UltraWebGrid было значительно медленнее, чем нам бы хотелось. (В нашем случае мы перемещали строки из одной сетки в другую и сталкивались с проблемами производительности, когда число строк было слишком велико.)

Если бы я делал что-то, как вы описали сегодня, я бы заполнил сетку со стороны сервера, если это вообще возможно, и оттуда отобразил бы соответствующие значения на карте.

В качестве дополнительного отказа от ответственности мы использовали Infragistics 2007.1; Я не знаю, лучше ли 2008.x в этой области.

Другие советы

Веб-сетки Infragistics предоставляют очень сложную объектную модель на стороне клиента, которую вы сможете использовать для заполнения клиентской части данных.

Первое, что вам нужно сделать, это взглянуть на полный CSOM для элемента управления webgrid. Текущую версию документа вы можете найти по адресу: http://help.infragistics.com/NetAdvantage/NET/2008.3/CLR2.0/

Чтобы сделать краткий пример, вам нужно получить ссылку на вашу сетку (и), а затем добавить несколько строк и данных. Вероятно, было бы проще настроить определения столбцов для ваших таблиц во время разработки, чем пытаться делать все это в javascript.

Во-первых: получите ссылку на свою сетку:

var grid = igtbl_getGridById('dataGridControlID');

Затем добавьте новую строку:

var newRow = grid.Rows.addNew()

После этого вы можете зациклить столбцы строки, чтобы заполнить данные:

var oCols = newRow.Band.Columns;
for(var i=0; i < oCols.length; i++) {
    newRow.getCell[i].setValue(yourValue)
}

или обратитесь к каждому по ключу, чтобы заполнить его данные:

newRow.getCellFromKey(colKey).setValue(yourValue,fireEvents);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top