TStringGrid и скрытые колонки

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: TComboBox

Сообщение krab » 25.03.2010 11:42:30

Например, в БД есть таблица Клиенты:
Client_Id, Client_Name, Client_FathersName, Client_FamilyName. Делается выборка по ней и заполняется ComboBox.

Решение #2 для комбобокса
Есть ComboBox, "вручную"(в цикле берутся данные из БД и добавляются в бокс) заполненный данными конкатенации полей Client_***Name.
Есть динамический массив, "вручную" заполненный данными из поля Client_Id
При нажатии кнопки из комбобокса берется номер строки, по нему - елемент из динамического массива с Id, дальше Id используется для создания запросов.

Нельзя ли сделать что-то подобное на датасетах? Если я правильно понимаю, DbComboBox годится только для случаев добавления новой записи в датасете. Причем при этом перед использованием дбкомбобокса пришлось бы переводить датасет в режим добавления, что не всегда целесообразно (так как это видно в гридах на той же форме, пользователю может показаться глюком, не говоря уже о других недостатках)
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: TStringGrid и скрытые колонки

Сообщение Padre_Mortius » 25.03.2010 13:49:08

Если я правильно понимаю, DbComboBox годится только для случаев добавления новой записи в датасете

Неправильно понимаете. DBComboBox это ComboBox для работы с базами данных.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: TStringGrid и скрытые колонки

Сообщение krab » 25.03.2010 14:09:56

Padre_Mortius писал(а):
Если я правильно понимаю, DbComboBox годится только для случаев добавления новой записи в датасете

Неправильно понимаете. DBComboBox это ComboBox для работы с базами данных.

В Дельфи, применительно к описанной выше задаче, он работал именно так. Редактировал заданное поле текущей записи датасета.
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: TStringGrid и скрытые колонки

Сообщение alaken » 01.04.2010 14:55:41

krab писал(а):Есть TStringGrid с 2-мя колонками, у второй из них Visible = False.
При выполнении
Код: Выделить всё
StringGrid1.Rows[0].Strings[1]:='sdsd';
возникает ошибка
Код: Выделить всё
exception class 'EGridException' with message: Index Out of range Cell[Col=1 Row=0]

Можно ли как-то писать и читать скрытые колонки у TStringGrid? Как это делается?


Возможно уже поздно но:
Код: Выделить всё
TStringGrid.Cells[ACol, ARow: Integer]: string

обращается ко всем ячейкам и в том числе к скрытым.
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: TStringGrid и скрытые колонки

Сообщение krab » 01.04.2010 17:09:44

Возможно уже поздно но:

Учиться никогда не поздно. :) Хотя смысла этим пользоватся уже не вижу. Подход с динамическим массивом вместо колонки в моем случае удобнее.
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: TStringGrid и скрытые колонки

Сообщение alaken » 01.04.2010 18:07:04

krab писал(а):Учиться никогда не поздно. :)

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

krab писал(а): Подход с динамическим массивом вместо колонки в моем случае удобнее.

Я наверное разбалован ООП, что массивами не рискнул бы уже пользоваться предпочетаю для строк TStringList, и для объектов TList =)
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52

Рейтинг@Mail.ru