Вверх ↑
Этот топик читают: Гость
Ответов: 499
Рейтинг: 1
#151: 2007-04-12 17:21:01 ЛС | профиль | цитата
nesco писал(а):
обнаружены мелкие баги при добавлении, вставке и замене строки

не заметил плохо смотрел? заменяю, вставляю, переставляю местами, все хорошо.
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#152: 2007-04-12 18:14:29 ЛС | профиль | цитата
HikeR, добавлялась лишняя строка. Сейчас проверяю.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#153: 2007-04-12 18:20:35 ЛС | профиль | цитата
nesco писал(а):
И по требованию от таблицы мы вытаскиваем из базы нужные нам данные для отображения

Вот это и непонял.
Что значит вытаскиваем(как ) база понимает только SQL.
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#154: 2007-04-12 18:23:36 ЛС | профиль | цитата
iarspider, понял. Одного "Да" вполне достаточно. Но молчит руководство и молат остальные специалисты по базам.

[size=-2]------ Добавлено в 18:23
Вячеслав,
nesco писал(а):
Мы их преобразуем элементами HiAsm'a в запросы к базе, и она нам возвращает нужные данные в таблицу через верхние точки

Теперь тебе понятно? Но как ты читаешь, мне -- непонятно?
карма: 22

0
Ответов: 3655
Рейтинг: 69
#155: 2007-04-12 18:30:19 ЛС | профиль | цитата
nesco писал(а):
Но как ты читаешь, мне -- непонятно?

Так и читаю.
nesco писал(а):
преобразуем элементами HiAsm'a


Ты куда собираешься запихнуть элементы.
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#156: 2007-04-12 18:41:36 ЛС | профиль | цитата
Вячеслав, да никуда я не собираюсь их запихивать. Наружу будут выдаваться индексы, сабиндексы, размер окна в строках, текущий верхний индекс и тп. Этого не хватит, разве, для оформления запроса к базе?

карма: 22

0
Ответов: 2125
Рейтинг: 159
#157: 2007-04-12 19:00:07 ЛС | профиль | цитата
nesco, без буферизации будет очень тормозно.
карма: 1

0
Ответов: 3655
Рейтинг: 69
#158: 2007-04-12 19:05:59 ЛС | профиль | цитата
nesco писал(а):
Наружу будут выдаваться индексы

Хорошо выдал все эти данные, а дальше что.
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#159: 2007-04-12 20:53:57 ЛС | профиль | цитата
tsdima, Запрос внутри таблицы происходит последовательно: сначала OnLVData для получения данных (если Store=true, то данные сохранятся в памяти), затем OnLVCustomDraw для отрисовки.

[size=-2]------ Добавлено в 20:47
По ADD -- ОТБОЙ. Все работает нормально, но лишняя проверка не помешает.

[size=-2]------ Добавлено в 20:53
Вячеслав писал(а):
Хорошо выдал все эти данные, а дальше что

Формируем запрос к базе на выдачу данных. И вообще, это -- опциональный режим, будет включаться в свойствах. Я по всему инэту только три ссылки нашел про этот метод, и то -- ничего полезного. Те Кладов задумал гениальную вещь, а вот конкретной реализации метода OnLVData я не нашел. И даже, если бы был, то его еще к нашим условиям прикрутить надо. Обязательно буду пробовать, думаю -- хуже не будет.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#160: 2007-04-12 22:10:55 ЛС | профиль | цитата
nesco писал(а):
метода OnLVData


Я вроде видел его в KOLStrGrid.

[size=-2]------ Добавлено в 22:10
Да там есть только кода нет .
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#161: 2007-04-12 22:22:05 ЛС | профиль | цитата
Вячеслав, мне очень понравилось вот это -- property OnLVData: Boolean read FNotAvailable;
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#162: 2007-04-12 23:16:59 ЛС | профиль | цитата
nesco писал(а):
попытатся реализовать виртуальный StringTable для работы с базой
Вячеслав писал(а):
Чё то я ничего непонял
Согласен с Вячеславом. Если ты имеешь ввиду
хранить данные о ячейках таблицы (координаты, цвет фона, фонт, размер фонта, цвет фонта и т.д.) в базе - это одно, но в этом случае для любой программы, использующей "виртуальный StringTable " прийдется таскать SQLite3.dll (+300kb) или , если применить SQLite.obj, то +200kb - не нравится мне это.

[size=-2]------ Добавлено в 23:16
и еще +БД
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#163: 2007-04-13 00:35:44 ЛС | профиль | цитата
Tad, опять вы не поняли. Таблица останется таблицей, как и была. Этот режим разрабатывается специально для работы с базой, когда всеравно приходится таскать за собой несчастные 300 кило. В данном случае таблица является кэшем базы с отображением. Тебе не надо грузить в таблицу все выбранные данные, достаточно грузить только то, что необходимо видеть (и то в момент каких-либо изменений экрана), а это может быть на порядок(а может и на два) меньше строк.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#164: 2007-04-13 10:51:06 ЛС | профиль | цитата
A кто сказал, что при работе с таблицей БД нужно ее всю загружать в StringTable?
Именно, грузиш то, что нужно видеть и чаще всего это всего одна запись из определенной таблицы БД при том только нужная(ые) колонка(и) . Так что вопрос Вячеслава "Чё то я ничего непонял" - актуален. (или у нас взгляды на методы работы с БД разные)
Чего мне не хватает в StringTable:
1) задать ширину колонки в зависимости от длинны записи в БД, т.е. точки doWidthCol на которую можно подать строку типа 80;200;40;120;70 и установить ширину колонки

[size=-2]------ Добавлено в 10:51
Да, nesco, для информации. Запрос типа
SELECT fam AS Фамилия,name AS Имя, oth AS Отчество FROM <tabl> ORDER BY Фамилия
заменит названия колонок в StringTable на русские и отсортирует по фамилии
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#165: 2007-04-13 14:03:56 ЛС | профиль | цитата
Tad, Колонки программируются по doReplaceCol форматом Индекс=Имя=Ширина=Индекс Иконки=Выравнивание (например: 1=Имя=120==2). Если это не устраивает, то добавлю doWidthCol.
Tad писал(а):
заменит названия колонок в StringTable на русские и отсортирует по фамилии

Не заменит, а добавит. Если запрос выдает русские имена, значит добавятся русские (MT модуль аналогичен штатному).
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)