C # TreeView и текстовое поле - PullRequest
0 голосов
/ 26 ноября 2010

У меня очень простой вопрос:

У меня есть веб-страница на C #, которая имеет древовидное представление с левой стороны и девять текстовых полей с правой стороны.

Древовидное представление заполняется тысячами строк таблицы sql с 9 столбцами.

Цель: При щелчке элемента древовидного представления обновите девять текстовых полей и покажите каждое значение столбца.

Каков наилучший способ сделать это? Должен ли я получить все данные о загрузке страницы во временной таблице данных и запросить таблицу данных C # по щелчку дерева? Или я должен отправить оператор выбора в таблицу sql по щелчку элемента дерева? Или есть лучший способ?

Это решение будет использоваться более чем 15 пользователями, и производительность является ключевым фактором.

Спасибо

FM

Ответы [ 2 ]

1 голос
/ 26 ноября 2010

Если древовидное представление для всех пользователей вашего приложения одинаково, чем

1- В событии запуска приложения заполните данные в виде данных и сохраните в переменной приложения.

2- Используйте созданное выше приложение varaible для запроса сохраненной в нем таблицы данных.

3- Когда вы щелкаете по узлу в древовидной структуре, показываете подробности, запрашивая сохраненные данные.

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

1 голос
/ 26 ноября 2010

Я бы использовал Server Cache для хранения DataTable.

Treeview одинаков для каждого пользователя, и в кеше хранятся ссылки на объекты приложения, такие как DataTable.

добавить:

Cache["MyTreeviewDataTable"] = MyTreeviewDataTable;

получить:

DataTable MyTreeviewDataTable = (DataTable)Cache["MyTreeviewDataTable"];

Обновление : Вы также должны взглянуть на SqlDependency и SqlCachDependency Классы для уведомления об изменениях данных.

Уведомления о запросах в SQL Server (ADO.NET)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...