В RxDBGrid новая возможность - кнопки редактора ячеки

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

В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение alexs » 23.08.2012 21:06:13

Реализовал возможность создания в гриде дополнительных кнопок в редакторе ячейки.
Для примера можно посмотреть демку RxDBGrid - колонка цена.

Ещё не работают изображения для предопределённых стилей кнопок.
Если есть у кого хорошие картинки - буду рад помощи.
Ну и, как всегда, принимаю багрепорты и предложения по улучшению функциональности.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение alexs » 27.08.2012 23:43:56

Судя по тишине - никому не нужно?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение xcod » 28.08.2012 04:47:50

я посмотрел, попробовал
вроде все пока работает без проблем
в одном из своих проектов включил для использования :)
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение vert » 15.01.2013 12:49:20

alexs, помогите с решением.
Использую кнопку в колонке с датой для открытия стандартного CalendarDialog. Дату в запросе датасета форматирую
Код: Выделить всё
// SQLite
SELECT *, strftime('%d.%m.%Y', birth_date) AS F_birth_date
FROM members

и назначаю FieldName:= F_birth_date (понятно, что в этом случае изменения в ячейке не будут сохраняться в базу данных, поэтому и вызываю диалог с календарём, после вызова которого сохраняю дату в бд в оригинальном формате (гггг-мм-дд)). Но, видимо, ячейка при этом переходит в ReadOnly и кнопка в ячейке становится недоступной.
Как бы обойти? Нужен доступ к кнопке при недоступном для редактирования содержимом ячейки.
vert
новенький
 
Сообщения: 19
Зарегистрирован: 11.11.2012 07:56:26

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение alexs » 15.01.2013 20:52:54

vert
Проверь ReadOnly у соответсвующего поля DataSet-а.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение vert » 16.01.2013 04:12:08

alexs, спасибо за ответ. Было включено readolnly. Теперь кнопка доступна, но как бы сделать, чтобы само значение ячейки грида нельзя было изменить напрямую? Пробовал DIrectInput у столбца dbgrida, одинаково, что с ним, что без него.
vert
новенький
 
Сообщения: 19
Зарегистрирован: 11.11.2012 07:56:26

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение alexs » 16.01.2013 07:50:27

Column.ButtonStyle = cbsNone - оно?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение vert » 17.01.2013 14:47:05

Нет, при cbsNone кнопка, которую я добавил в EditButtons столбца, не отображается. Больше всего похоже на то, что мне нужно, cbsButton - в ячейке ничего напечатать нельзя, а кнопка из EditButtons доступна. Но также появляется стандартная кнопка с текстом [...] Может, можно её как-то скрыть? Или поместить на неё своё изображение? В крайнем случае, просто назначить на эту стандартную кнопку своё событие (если подскажете, как, буду признателен)
vert
новенький
 
Сообщения: 19
Зарегистрирован: 11.11.2012 07:56:26

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение alexs » 17.01.2013 22:03:01

Надо подумать...
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение vert » 18.01.2013 06:08:47

Сделал пока через onEditButtonClick дбгрида.
vert
новенький
 
Сообщения: 19
Зарегистрирован: 11.11.2012 07:56:26

Re: В RxDBGrid новая возможность - кнопки редактора ячеки

Сообщение vert » 23.01.2013 08:20:56

Поставил cbsAuto и сделал такой обработчик на нажатие клавиши в колонке:
Код: Выделить всё
procedure TMainForm.DB_membersKeyPress(Sender: TObject; var Key: char);
  begin
    if DB_members.SelectedColumn.Index = 4 then
      Key:= #0;
  end
vert
новенький
 
Сообщения: 19
Зарегистрирован: 11.11.2012 07:56:26


Вернуться в RxLib

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

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

Рейтинг@Mail.ru