Пришлось писать прогу на Делфи, столкнулся с такой вот траблой:
есть DBGrid, подвязанный к TADOTable, в DBgrid добавляю собственноручно колонку и даю ей,н.п. FieldName='OPA'; Теперь хочу руками проставлять номера записей в этой колонке (типа - номер строки проводки в спецификации к документу). onUpdate не помогает - все, вроде как, срабатывает, только цифры не появляются...
Есть ли способ вручную (из прог.) в DBGrid заполнить определенную ячейку?
Еще вопрос:
Почему SelectedRow имеет значение, только когда у дбгрида выставлен MultiSelect := true? Приходится еще из-за этого юзать букмарки. Я как понял, сам dbgrid данных не содержит, а всегда выкачивает их из своего datasource.dataset. И нафига ж тогда возможность добавлять свои колонки, которые не соответствуют полям таблиц???
И еще вопрос:
Если заменю все это на StringGrid - как мне названия колонок в ейном хидерконтроле проставить??
Блин, плохо знаю дельфи и этот VCL
tAZAR,
из Grid'ов приходилось сталкиваться только со StringGrid. Для баз данных лучше использовать DBGrid, будет намного проще, чем приспосабливать StringGrid.
а вопрос задай тут http://www.delphimaster.ru/cgi-bin/forum.pl?n=1
ответят обязательно.
из Grid'ов приходилось сталкиваться только со StringGrid. Для баз данных лучше использовать DBGrid, будет намного проще, чем приспосабливать StringGrid.
а вопрос задай тут http://www.delphimaster.ru/cgi-bin/forum.pl?n=1
ответят обязательно.
элементы cols и rows с 0 индексом - названия колонок/строккак мне названия колонок в ейном хидерконтроле проставить??
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )
Люблю и поработать, особенно поспать )
Не стал разводить отдельный топ для вот этого.
есть:
frmRest := TFormRest.Create(Self);
frmRest.dtRest.Date := Now;
frmRest.iType := 6;
frmRest.Show();
Каким - то чудом frmRest.OnShow срабатывает сразу после Create(Self);
форма мдишная. и, соответственно, dtRest.Date устанавливается уже после того, как форму показали, а у меня там ( в OnShow) лежит рассчет остатков, которые из-за этого считаются на неправильное число (то, которое изначально лежит в dtRest.Date - это DateTimePicker. Понту от строк после frmRest.Create никакого. Значения устанавливаются, но поздно....
Тов. делфисты, подскажите, как бороться с этой лажей, плз....
Я как понял - Create автоматом показывает форму, зараза...
есть:
frmRest := TFormRest.Create(Self);
frmRest.dtRest.Date := Now;
frmRest.iType := 6;
frmRest.Show();
Каким - то чудом frmRest.OnShow срабатывает сразу после Create(Self);
форма мдишная. и, соответственно, dtRest.Date устанавливается уже после того, как форму показали, а у меня там ( в OnShow) лежит рассчет остатков, которые из-за этого считаются на неправильное число (то, которое изначально лежит в dtRest.Date - это DateTimePicker. Понту от строк после frmRest.Create никакого. Значения устанавливаются, но поздно....
Тов. делфисты, подскажите, как бороться с этой лажей, плз....
Я как понял - Create автоматом показывает форму, зараза...
tAZAR,
еще небольшое замечание, если не нужно отображать главную форуму прилржения при старте, то есть такое свойство Application.ShowMainForm, которое нужно поставить в false до создание главной формы приложения в проектном файле (dpr).
еще небольшое замечание, если не нужно отображать главную форуму прилржения при старте, то есть такое свойство Application.ShowMainForm, которое нужно поставить в false до создание главной формы приложения в проектном файле (dpr).
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )
Люблю и поработать, особенно поспать )
- Borr
- Частый гость
- Сообщения: 338
- Зарегистрирован: Ср сен 15, 2004 17:14
- Откуда: Шахты
- Контактная информация:
tAZAR DBGrid отображает данные только из DataSet - чтобы вставлять свои значения нужно данные пропускать через ClientDataSet и уже в него вставлять нужные тебе данные либо пользоваться StringGrid'ом
Никакого Show не нужно с MDI формой. Перенеси свой код из OnShow в OnCreate и всеfrmRest := TFormRest.Create(Self);
frmRest.dtRest.Date := Now;
frmRest.iType := 6;
frmRest.Show();
Стой там, иди сюда
Borr, как ты говоришь - получится так:
frmRest := TFormRest.Create(Self); - сработает рассчет остатков - на число по умолчанию в dtRest
frmRest.dtRest.Date := Now; -- установится дата, на которую Нужно рассчитывать остатки
frmRest.iType := 6; - и еще одна фигня установится
З.Ы. этот код переносить нельзя, т.к. регистр остатков открывается из нескольких мест, и дата меняется в соответствии от этих мест... а трабл я решил хоть и по-бобовому.
frmRest := TFormRest.Create(Self); - сработает рассчет остатков - на число по умолчанию в dtRest
frmRest.dtRest.Date := Now; -- установится дата, на которую Нужно рассчитывать остатки
frmRest.iType := 6; - и еще одна фигня установится
З.Ы. этот код переносить нельзя, т.к. регистр остатков открывается из нескольких мест, и дата меняется в соответствии от этих мест... а трабл я решил хоть и по-бобовому.
ГыEraser писал(а):а почему бы не перекрыть конструктор Create и не выполнить код там?
Мы тут отмечали новый год корпоративно Вот, что водка с людьми делает Башка ваще не работала...
За два дня не допер Хотя в параллельном проекте на с++ все путем - вот что значит, доведено до автоматизма:-)
Благодарю, развеял туман в моей голове.