Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизРучная вставка в TDBGridEh Найти похожие ветки
← →
legat © (2007-01-30 12:45) [0]Хочу в TDBGridEh в новую строку при её создании в одну из ячеек поместить значение.
Никто не знает как это сделать?
Или как это делается в TDBGrid?
← →
Vlad433 © (2007-01-30 12:49) [1]Почему не в датасет ?
← →
legat © (2007-01-30 12:58) [2]Получается мастер-деталь структура.
Мастер таблица выводится в дбгриде.
По идее алгоритм следующий:
1. создаётся строка в дбгриде
2. туда записывается необходимое значение
3. сохраняется (пост)
4. заполнение подчинённых данных.
К сожалению пользователи создают строку и сразу переходят к заполнению подчинённых данных. Я хочу из заставить задуматься и ввести в дбгрид что-то вроде "новая запись" - пусть редактируют.
При этом мастер данные пустые и это вызывает ошибку (они обязательно должны быть заполнены).
← →
JFK&MM_extramarital_son (2007-01-30 13:00) [3]TDataSet.OnNewRecord
← →
Vlad433 © (2007-01-30 13:13) [4]ИМХО, переходить к дочерним имеет смысл только когда у Master post уже отработал.
← →
Sergey13 © (2007-01-30 13:14) [5]> К сожалению пользователи создают строку и сразу переходят к заполнению подчинённых данных.
Не давай переходить.
> Я хочу из заставить задуматься
Ага, щас. И постмодернистов полюбить. 8-)
← →
legat © (2007-01-30 13:32) [6]У мастер записи структура:
- название
- данные
Название нужно, чтоб облегчить навигацию по этому бардаку.
Так как в данные иногда надо через-чур вдумчиво вчитываться, чтобы найти разницу в двух-трёх или более на первый взгляд одинаковых записях.
← →
JFK&MM_extramarital_son (2007-01-30 13:58) [7]TDataSet.OnNewRecord
← →
legat © (2007-01-30 14:08) [8]JFK&MM_extramarital_son (30.01.07 13:58) [7]
Спасибо я уже заметил. Однако это позволяет более разумно отреагировать на появление будущей записи (я хотел по кейпресу отлавливать).
Но это не даёт мне возможности вставить значение по умолчанию в датагрид.
Или я что-то не так понимаю?
← →
Sergey13 © (2007-01-30 14:25) [9]> [6] legat © (30.01.07 13:32)
> У мастер записи структура:
> - название
> - данные
Плохая структура. Как минимум ключа не хватает.
> Название нужно, чтоб облегчить навигацию по этому бардаку.
Не поможет. Сориентируйся по "Марс", "Конфета марс", "Батончик" и "Изделие №2"
> Или я что-то не так понимаю?
Угу. В гриде нет записей. Указанное событие отлавливает создание новой записи в датасете.
← →
legat © (2007-01-30 14:58) [10]Sergey13 © (30.01.07 14:25) [9]
Он там есть по-определению.
Сейчас делают так:
в событии OnNewRecord делаю:
MasterDataSet..Fields[3].AsString:="Новая запись";
При перемещении по датагриду "Новая запись" появляется, но при потере фокуса исчезает.
← →
pasha_golub © (2007-01-30 15:07) [11]
> legat © (30.01.07 14:58) [10]
> При перемещении по датагриду "Новая запись" появляется,
> но при потере фокуса исчезает.
MasterDataset.Post;
← →
Sergey13 © (2007-01-30 15:30) [12]> Он там есть по-определению.
Что за определение?
> При перемещении по датагриду "Новая запись" появляется,
> но при потере фокуса исчезает.
Ну так пост не прошел. Сделай нормально - например, не ввели запись - не давай терять фокус. Иначе будешь иметь миллион "Новых записей".
← →
legat © (2007-01-30 16:16) [13]pasha_golub © (30.01.07 15:07) [11]
Сразу после вставки не желательно - только что проверил получается ситуация описаная Sergey13 ©.
С другой стороны вполне приемлимо.
Sergey13 © (30.01.07 15:30) [12]
Может привести весь сценарий создания базы данных?
← →
Sergey13 © (2007-01-30 16:22) [14]> [13] legat © (30.01.07 16:16)
> Может привести весь сценарий создания базы данных?
А че, жалко? Ноу-хау бережешь? 8-)
← →
legat © (2007-01-30 16:44) [15]Никакого ноу-хау. Но для решения поставленной задачи.
Три листа текста сюда вставлять бессмысленно.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c