Главная страница
    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.48 MB
Время: 0.005 c
4-1219247208
DiVider
2008-08-20 19:46
2009.10.11
Процедура порта завершения жрёт процессорное время!!!


1-1218792099
Dr.Andrew
2008-08-15 13:21
2009.10.11
Как изменить вид ползунка у компонента таскбара (TTackBar)?


15-1249543409
FF_FF
2009-08-06 11:23
2009.10.11
информатика...


2-1249277349
DimonS
2009-08-03 09:29
2009.10.11
Странное поведение поля в Access


6-1207843756
anton
2008-04-10 20:09
2009.10.11
поменять стиль документа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский