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

Вниз

DBgrid присвоить значение столбцу   Найти похожие ветки 

 
D@sha ©   (2009-08-09 04:01) [0]

Нужно что при определенном условии конкретные столбцы дбгрида заполнялись одними и теми же данными... Не знаю как обратиться к конкреной ячейке двгрида?


 
Сергей М. ©   (2009-08-09 09:07) [1]


> Не знаю как обратиться к конкреной ячейке двгрида


Эй ты, конкретная ячейка двгрида, а ну - быстро заполнись !


 
Юрий Зотов ©   (2009-08-09 11:39) [2]

> D@sha ©   (09.08.09 04:01)

DBGrid сам по себе не содержит никаких данных. Данные содержатся в DataSet"е, а DBGrid всего лишь отображает их. Поэтому заполнять данными надо не ячейку DBGrid", а поле DataSet"а. Например, SQL-оператором UPDATE.


 
Anatoly Podgoretsky ©   (2009-08-09 11:40) [3]

Никого нет


 
D@sha ©   (2009-08-11 06:48) [4]

Юрий Зотов ©   (09.08.09 11:39) [2]
а можно конкретнее??? есть таблица, мне нужно чтоб первые три столбца с данными были постоянными и неменялись, а все остальные при нажатии на кнопку очищались и можно забивать туда новые данные...
Я захожу в апдейт и он мне предлагает выбрать событие онклик на кнопки которые у меня на форме... а как сделать очистку заданных столбцев?


 
MonoLife ©   (2009-08-11 07:23) [5]


> D@sha ©   (11.08.09 06:48) [4]

Используйте TStringGrid: динамически заполняйте нужные столбцы "постоянными" данными и данными из DataSet


 
MonoLife ©   (2009-08-11 07:25) [6]


> D@sha ©   (09.08.09 04:01)  

Вы всё пытаете табель или это новое ТЗ?


 
Sergey13 ©   (2009-08-11 08:34) [7]

> [4] D@sha ©   (11.08.09 06:48)
> все остальные при нажатии на кнопку очищались и можно забивать
> туда новые данные...

В 99.9% случаев это неправильный подход к построению системы. Вернее это "экселевский" подход. Не надо ничего удалять и очищать. Надо добавлять новые записи.

ЗЫ: Если это дописывание табеля, значит ты двоечница.


 
MsGuns ©   (2009-08-11 09:13) [8]

"Ежики кололись, но упорно продолжали дезть на кактус" :)
Типа все же делаем табель ?

1. Если нужно просто запретить ввод в некоторые колонки, то достаточно в TField, на которые эти колонки ссылаются, поставить ReadOnly. Если нужно сделать их фиксированным (т.е. не убираемыми с экрана при гориз.скроллинге), то либо надо "подхимичить" грид через его предка , либо использовать TStringGrid но с иной технологией обмена с БД

2.Очистить нужные колонки грида можно очистив соотв.им поля датасета, "пробежав" по всем его записям. Например, так:

procedure TForm1.InitTabel;
begin
 with DBGrid1.DataSource.DataSet do
   begin
    DisableControl;  // Во избежания моргания
    First;
    while not eof do
      begin
        FieldByName("Field1").AsString := "";
        FieldByName("Field2").AsString := "";
        ...
      end;
    First;
    EnableControl;
  end;
end;

Однако такая технология чревата лишними обращениями к базе.

И все ж таки послушайтесь совета и купите готовую программу.
Или найдите хорошего мужа :)
Ну или в конце концов читайте хэлпы и вообще учитесь !


 
MsGuns ©   (2009-08-11 09:15) [9]

Пардон, в цикле надо добавить две строки:

Edit в начале и Post в конце


 
Dennis I. Komarov ©   (2009-08-11 09:32) [10]

Угу, и в результате потерять данные в датасете?


> D@sha ©   (11.08.09 06:48) [4]
> мне нужно чтоб первые три столбца с данными были постоянными
> и неменялись, а все остальные при нажатии на кнопку очищались
> и можно забивать туда новые данные...

Прямая дорога к TStringGrid, хотя я предпочитаю TListView

> Я захожу в апдейт и он мне предлагает выбрать событие онклик
> на кнопки которые у меня на форме... а как сделать очистку
> заданных столбцев?

Так где надо очищать? В таблице или на экране? (см. [2])


 
MsGuns ©   (2009-08-11 10:15) [11]

>Dennis I. Komarov ©   (11.08.09 09:32) [10]
>Угу, и в результате потерять данные в датасете?

Нет.


 
Dennis I. Komarov ©   (2009-08-11 12:49) [12]


> Нет.

Т.е. DBGrid1.DataSource.DataSet и реальный DataSet в данном случае разные вещи?


 
MsGuns ©   (2009-08-11 14:15) [13]

Нет, не разные. Но "табельная" таблица обязана иметь по крайней мере 2 ключа: месяц и подразделение. При создании нового табеля (а именно при этом требуется инициализация) программа копирует содержимое табеля за прошлый месяц, но все поля кроме ФИО и чего-то там сопутствующего чистит. После инициализации в БД будет занесен чистый табель, который и заполняется пользователем через датасет.
Очевидно, что-то вроде этого и требуется автору сабжа.


 
Dennis I. Komarov ©   (2009-08-11 14:38) [14]


> Очевидно, что-то вроде этого и требуется автору сабжа.

ну давай будем говорить непосредственно по коду, при [8] данные из датасет мы потеряем, а откуда они уже там взялись и что это за данные это вопрос Даше...



Страницы: 1 вся ветка

Текущий архив: 2009.10.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.012 c
15-1250081279
antonn
2009-08-12 16:47
2009.10.11
помогите определить автора музычки


4-1219140902
polezhayev
2008-08-19 14:15
2009.10.11
Управление другим приложением


1-1219226732
Vlad Oshin
2008-08-20 14:05
2009.10.11
Код из dll в программу


15-1249522941
Mozart
2009-08-06 05:42
2009.10.11
Вопрос железячникам...


15-1250088161
Артур Пирожков
2009-08-12 18:42
2009.10.11
Вопрос про сайт в контакте.ру