В RxDBGrid новая возможность - кнопки редактора ячеки
Модераторы: alexs, Модераторы
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
В RxDBGrid новая возможность - кнопки редактора ячеки
Реализовал возможность создания в гриде дополнительных кнопок в редакторе ячейки.
Для примера можно посмотреть демку RxDBGrid - колонка цена.
Ещё не работают изображения для предопределённых стилей кнопок.
Если есть у кого хорошие картинки - буду рад помощи.
Ну и, как всегда, принимаю багрепорты и предложения по улучшению функциональности.
Для примера можно посмотреть демку RxDBGrid - колонка цена.
Ещё не работают изображения для предопределённых стилей кнопок.
Если есть у кого хорошие картинки - буду рад помощи.
Ну и, как всегда, принимаю багрепорты и предложения по улучшению функциональности.
я посмотрел, попробовал
вроде все пока работает без проблем
в одном из своих проектов включил для использования
вроде все пока работает без проблем
в одном из своих проектов включил для использования
alexs, помогите с решением.
Использую кнопку в колонке с датой для открытия стандартного CalendarDialog. Дату в запросе датасета форматирую
и назначаю FieldName:= F_birth_date (понятно, что в этом случае изменения в ячейке не будут сохраняться в базу данных, поэтому и вызываю диалог с календарём, после вызова которого сохраняю дату в бд в оригинальном формате (гггг-мм-дд)). Но, видимо, ячейка при этом переходит в ReadOnly и кнопка в ячейке становится недоступной.
Как бы обойти? Нужен доступ к кнопке при недоступном для редактирования содержимом ячейки.
Использую кнопку в колонке с датой для открытия стандартного CalendarDialog. Дату в запросе датасета форматирую
Код: Выделить всё
// SQLite
SELECT *, strftime('%d.%m.%Y', birth_date) AS F_birth_date
FROM membersи назначаю FieldName:= F_birth_date (понятно, что в этом случае изменения в ячейке не будут сохраняться в базу данных, поэтому и вызываю диалог с календарём, после вызова которого сохраняю дату в бд в оригинальном формате (гггг-мм-дд)). Но, видимо, ячейка при этом переходит в ReadOnly и кнопка в ячейке становится недоступной.
Как бы обойти? Нужен доступ к кнопке при недоступном для редактирования содержимом ячейки.
alexs, спасибо за ответ. Было включено readolnly. Теперь кнопка доступна, но как бы сделать, чтобы само значение ячейки грида нельзя было изменить напрямую? Пробовал DIrectInput у столбца dbgrida, одинаково, что с ним, что без него.
Нет, при cbsNone кнопка, которую я добавил в EditButtons столбца, не отображается. Больше всего похоже на то, что мне нужно, cbsButton - в ячейке ничего напечатать нельзя, а кнопка из EditButtons доступна. Но также появляется стандартная кнопка с текстом [...] Может, можно её как-то скрыть? Или поместить на неё своё изображение? В крайнем случае, просто назначить на эту стандартную кнопку своё событие (если подскажете, как, буду признателен)
Сделал пока через onEditButtonClick дбгрида.
Поставил cbsAuto и сделал такой обработчик на нажатие клавиши в колонке:
Код: Выделить всё
procedure TMainForm.DB_membersKeyPress(Sender: TObject; var Key: char);
begin
if DB_members.SelectedColumn.Index = 4 then
Key:= #0;
end
