2009-02-24 3 views
0

Как дорого это привязки данных коллекции объектов к сетке (Telerik GridView быть конкретными) против регулярной DataTable,Databinding Generic Collection против DataTable,

я не имел бы подумал, что это проблема, но я делаю привязки данных через обратный вызов веб-сервиса AJAX, и если сетка имеет более 20 строк, начинает связываться время, необходимое для привязки:

ответ

1

Я читал где-то (не помню, где именно, кажется, что моя память не так хороша :)), что в целом привязка к DataTable больше ресурсов/времени, чем привязка к коллекции объектов.

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

Demo

Help topic

надеюсь, что вы найдете их полезными.

Дик

+0

Итак, каковы были ваши результаты оценки, вы в конечном итоге пошли с телериком? – CodeKiwi

0

Несмотря на то, что он ограничен WinForms, взгляните на BindingListView. Это faster than using a DataView/Table. Поскольку вы используете ASP.NET, я сомневаюсь, что вы можете использовать его напрямую, но не слишком сложно переписать что-то подобное в JavaScript, тем более что это открытый исходный код.

0

Насколько велики эти объекты, к которым вы привязываетесь? Если эти объекты большие и содержат данные, которые не относятся к элементу управления, к которому вы их привяжете, тогда у вас есть накладные расходы.

Другими словами, если у вас есть объект, который имеет 30 свойств, и вы используете только 2 из них для привязки к элементу управления, вы увидите проблемы с производительностью. Я предполагаю, что DataTable быстрее, потому что он содержит только нужные вам данные. В противном случае нет причин, по которым один будет значительно быстрее, чем другой для того же количества полей/свойств.

+0

Нет рассматриваемый объект имеет только около 7 свойств, большинство (если не все), которые используются в связывании. Я еще не пытался использовать datatable, так что, возможно, поражение производительности приходит в webservice или javascript. – CodeKiwi

Смежные вопросы