Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
ВнизОбщий тип для манипуляции несовместимыми типами с общими свойств. Найти похожие ветки
← →
Inovet © (2014-03-25 17:06) [40]> [39] Дмитрий (25.03.14 17:01)
Тебе Датасет надо или остальные поля и свойства? Какие тогда остальные?
← →
clickmaker © (2014-03-26 10:45) [41]
function TGridHelper.GetProp(AGrid: TComponent; const APropName: string): TObject;
begin
if (APropName = "DataSource") then begin
if (AGrid is TDBGridEh) then
result:=(AGrid as TDBGridEh).DataSource;
else if (AGrid is TDBGrid) then
result:=(AGrid as TDBGrid).DataSource;
if (AGrid is TRxDBGrid) then
result:=(AGrid as TRxDBGrid).DataSource;
end else
if (APropName = "SelectedField") then begin
if (AGrid is TDBGridEh) then
result:=(AGrid as TDBGridEh).SelectedField;
...
end else
if...
end;
← →
Дмитрий (2014-03-26 17:20) [42]В большей степени мне нужны поля и свойства грида.
Align, color, columns, datasource, Drawmemotext, EditActions, Enabled, EvenRowColor, FixedColor, Flat, FrozenCols, Height, Hint, Left, Name, OddRowColor, Options, ReadOnly, Tag, Visible, Width
Еще некоторые другие типа Owner-Parent и некоторые обработчики OnKeyPressed-OnDrawColumnCell
У датасетов облегчает ситуацию наличие общего совместимого типа, у гридов такого нет.
> clickmaker © (26.03.14 10:45) [41]
> function TGridHelper.GetProp(AGrid: TComponent; const APropName:
> string): TObject;
> begin...
Мысль понятна-объединить в один метод.
Возможно, с точки зрения структуры и правок это будет удобно.
← →
Inovet © (2014-03-26 17:27) [43]> [42] Дмитрий (26.03.14 17:20)
Какой в этом смысл, если они разные и наборы их разные? При том, что часть из перечисленного вообще-то не этими гридамиопределена и общая для всех, и доступна нормальными способами.
← →
sniknik © (2014-03-26 18:07) [44]> Возможно, с точки зрения структуры и правок это будет удобно.
гарантирую, это будет жутко неудобно и глючно.
сам представь, все что ты делаешь в 1 строку будешь делать в 50 ради абстрактной универсализации. да эти 50 строк, вместо одной у тебя будут "спрятаны" в объекте но зависимости в работе с ним, "внешние", останутся. и необходимость правки именно самого кода обеспечивающего "универсальность" тоже (по умолчанию, сделает кто-то новый грид и как же универсальность если его не поддержать?).
← →
Дмитрий (2014-03-26 18:29) [45]Inovet © (26.03.14 17:27) [43]
Переписал из инспектора используемые свойства ЕхГрида.
Некоторые свойства, вроде SelectedField так не помню, всплывают в процессе переделки прежнего модуля.
sniknik © (26.03.14 18:07) [44]
Принципиального улучшения [41] не несет по сравнению с [13], кроме группировки в одном блоке.
Во многих случаях потребуется еще одно приведение типов.
Дополнительная операция может быть заметна в обаботчиках типа OnCalc или OnDrawCell
← →
sniknik © (2014-03-27 11:50) [46]> Принципиального улучшения
я не про разницу кода 13 vs 41, а в принципе "за идею"... любая "универсализация" чего-то настолько различного приведет к проблемам.
как пример могу привести уже набивший оскомину ADOTable, ADOQuery "универсализировавший" логику работы с ними "под BDE".
где уже этот BDE, а проблемы из-за подобного решения до сих пор есть.
← →
Дмитрий (2014-04-14 18:53) [47]К слову, мне не обязательно требуется реализация здесь и сейчас всех свойств ДжедайГрида и прочих.
Скорее, мне нужна болванка, которая сейчас позволяет крутить ГридЕх, в которую при потребности легко добавить прочие типы.
← →
Юрий Зотов © (2014-04-14 22:51) [48]> Дмитрий (14.04.14 18:53) [47]
Прошло больше месяца, а решения так и нет. Не значит ли это, что его действительно просто нет?
← →
Германн © (2014-04-15 02:27) [49]
> Дмитрий (14.04.14 18:53) [47]
>
> К слову, мне не обязательно требуется реализация здесь и
> сейчас всех свойств ДжедайГрида и прочих.
> Скорее, мне нужна болванка, которая сейчас позволяет крутить
> ГридЕх, в которую при потребности легко добавить прочие
> типы.
А к своему тёзке, автору EhLib не обращался?
← →
Дмитрий (2014-04-15 17:22) [50]
> Германн © (15.04.14 02:27) [49]
> А к своему тёзке, автору EhLib не обращался?
Нет.
То, что нужно было от ЕхГрида обходился поиском по форумам.
А спросить про универсальный коннектор не достает наглости.
Кроме меня никому не нужно.
> Юрий Зотов © (14.04.14 22:51) [48]
> решения так и нет. Не значит ли это, что его действительно
> просто нет?
Так-то решение есть - прописать каждое свойство ручками.
Чем потихоньку и занимаюсь, в фоновом режиме.
Отсутствует желаемое решение.
С мороженками и печеньками.
)
← →
Юрий Зотов © (2014-04-16 12:13) [51]> Отсутствует желаемое решение.
Его я и имел в виду. И в полноценном виде его действительно не существует (о чем здесь уже говорилось) - слишком разные компоненты.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.049 c