Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

Ручная вставка в 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.03 c
15-1169670328
Amychok
2007-01-24 23:25
2007.02.18
Медиаплеер


15-1170012281
hmmm
2007-01-28 22:24
2007.02.18
http://www.ndw.ru/services/hosting.html


15-1169306037
Mr. D.
2007-01-20 18:13
2007.02.18
Показ "панели задач" при работе TMediaPlayer


2-1170276381
Wlad_M
2007-01-31 23:46
2007.02.18
Как вписать недостающий класс в экзешник


2-1170240363
<X>
2007-01-31 13:46
2007.02.18
Ошибка при созданнии файла