Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.006 c
15-1248781875
TIF
2009-07-28 15:51
2009.10.11
URL-кодировка (URL encoding, Percent-encoding)


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


1-1219300423
Чих-Пых
2008-08-21 10:33
2009.10.11
Вывод на печать каталога


15-1249797725
TUser
2009-08-09 10:02
2009.10.11
10 лет времен Владимира Путина


15-1250029803
Юрий
2009-08-12 02:30
2009.10.11
С днем рождения ! 12 августа 2009 среда





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский