Dimyan
Дата: 01.08.2005 09:34:25
Возможно вопрос обсуждался но я ненашел :(
Суть такова, у меня есть таблицы справочники которые загружены в dataSet и соответственно таблицы использующие данные из справочников. В настоящее время чтоб отобразить в гриде нормальные удобочитаемые данные я создаю представление основанное на объединении данных выбираемых из таблицы с данными таблиц справочников и гружу его в грид, таким оброзом получается что вместо того чтобы скажем отображать по ссылкам из таблицы справочника, ну скажем города которых всего 15 шт, я гружу гораздо большее количество объединенных названий городов. Я посчитал, для моей задачи можно было бы экономить до 200Кб трафика, если делать объединение со справочниками внутри dataSet но есть ли такая возможность и как она реализуется?
dma_caviar
Дата: 01.08.2005 09:55:36
Сделай свою коллекцию не пожелеешь.
Например:
DataSet.Orders - грузим 10 строк
DataSet.Employees - грузим 5 строк
Создаем класс 1 коллекцию - наследник от CollectionBase.
Создаем класс 2 - "запись" для коллекции и помещаем в него Public Property в количестве равном необходимому кол-ву столбцов в сетке. В конструкторе этого класса передавай или номер строки или его ключ, чтобы по нему в Public Property можно было найти эту строку в таблице DataSet-а.
В класс 1 методом Add добавляем эти "записи".
Вообще существует много способов для решения твоей проблемы, но мне кажется этот - лучший. Здесь можно, например, переопределить каким образом будет происходить сортировка различных типов данных. Кстати Employees можно грузить в его Public Property-сах, т.о. если все столбцы относящиеся к этой таблице юзер сдвинет за видимые пределы сетки, то она (сетка) не будет обращаться в ее Public Property, а значит, и загрузки этой ты производить не будешь.