Форум: "Начинающим";
Текущий архив: 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