Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.10.2009, 15:40   #21
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

Цитата:
Сообщение от quit Посмотреть сообщение
еще раз повторяю, если Вы используете DBGrid то тогда достаточно обратиться
Код:
DataModule1.FindQuery.FieldByName('имя поля').As[Нужный вам тип]
- здесь будет хранится значение поля на строке,где стоит фокус
Да, но в СтрингГрид записывается во все ячейки значение одного поля, которое введено
Код:
DataModule1.FindQuery.FieldByName('имя поля').As[Нужный вам тип]
А мне нужна вся строка...
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума
Старый 23.10.2009, 15:45   #22
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Цитата:
Сообщение от monushka Посмотреть сообщение
Да, но в СтрингГрид записывается во все ячейки значение одного поля, которое введено
Код:
DataModule1.FindQuery.FieldByName('имя поля').As[Нужный вам тип]
А мне нужна вся строка...
Код:
for i:=0 to [Количество колонок] do
begin
  StringGrid.Cells[i,0] := string(DataModule1.FindQuery.Fields[i] .Value);
end;
как то так
©Учиться, учиться и еще раз учиться!

Последний раз редактировалось quit; 23.10.2009 в 15:47.
quit вне форума
Старый 23.10.2009, 15:49   #23
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

Цитата:
Сообщение от quit Посмотреть сообщение
Код:
for i:=0 to [Количество колонок] do
begin
  StringGrid.Cells[i,0] := string(DataModule1.FindQuery.Fields[i] .Value);
end;
как то так
О, вот это оно!! Чуток подправлю и все будет гуд! Большооооое спасибо, Quit!
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума
Старый 23.10.2009, 17:03   #24
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

Опять непонятки... Что-то голова уже туго соображает. Как организовать наращивание и вывод в следующую строку?
Т.е. если я выбрала один товар, нажала "добавить", у меня добавляется в СтрингГрид в первую строку. Потом выбираю другой товар и по идее при нажатии на "Добавить" он должен добавиться во вторую строку и т.д.

Написало ЭТО:

Код:
procedure TEquipForm.Button1Click(Sender: TObject);
var i,j:integer;
begin
i:=2;
if SG1.RowCount<=i then
begin
 i:=i+1;
 SG1.RowCount:=SG1.RowCount+1;
end;
for j:=1 to 7 do
begin
  SG1.Cells[j-1,i-1]:= DataModule1.FindQuery.Fields[j].Value;
end;
end;
Но ерунда какая-то вышла... Изначально в параметрах СтрингГрида 2 строки. Запускаю прогу, при нажатии на "Добавить" добавляется третья строка и в нее записывается выбранная позиция. Выбираю другую позицию, нажимаю "Добавить" и она записывается во вторую строку! После этого при нажатии на "Добавить" все записывается во вторую строку. У меня неправильно написано условие, но как оно должно быть я что-то не могу сообразить. Помогите опять!
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума
Старый 23.10.2009, 17:27   #25
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
Радость

Цитата:
Сообщение от monushka Посмотреть сообщение
Но ерунда какая-то вышла... Изначально в параметрах СтрингГрида 2 строки. Запускаю прогу, при нажатии на "Добавить" добавляется третья строка и в нее записывается выбранная позиция. Выбираю другую позицию, нажимаю "Добавить" и она записывается во вторую строку! После этого при нажатии на "Добавить" все записывается во вторую строку. У меня неправильно написано условие, но как оно должно быть я что-то не могу сообразить. Помогите опять!
У Вас вся задача сводится к тому, чтобы инкрементировать строку.
Опять же, существует множество способов. Самый простой - создать глобальную целочисленную переменную, определяющую номер строки, и после удачного добавления к ней прибавлять единицу, а при обновлении загруженных данных, ее обнулять
©Учиться, учиться и еще раз учиться!
quit вне форума
Старый 23.10.2009, 17:32   #26
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

Сделала так:
Код:
procedure TEquipForm.Button1Click(Sender: TObject);
var i,j,k:integer;
begin
i:=SG1.RowCount;
k:=300;
if SG1.RowCount<=k then
begin
i:=i+1;
SG1.RowCount:=SG1.RowCount+1;
end;
for j:=1 to 7 do
begin
SG1.Cells[j-1,i-2]:= DataModule1.FindQuery.Fields[j].Value;
end;
end;
Определила, что таблица у меня не может быть больше 300 строк... Работает! Но это же извращение какое-то! Другое в голову не лезет пока... Но спасибо за ответ и за помощь! Всем!
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума
Старый 23.10.2009, 17:45   #27
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

на CreateForm укажите StringGrid.RowCount := 1
Код:
procedure TEquipForm.Button1Click(Sender: TObject);
var i,j:integer;
begin
  i:=SG1.RowCount-1;
  SG1.RowCount:=SG1.RowCount+1;
  for j:=0 to 6 do
  begin
    SG1.Cells[j,i]:= DataModule1.FindQuery.Fields[j+1].Value;
  end;
end;
А также при обновлении данных или загрузки данных, тоже нужно обнулять(ставить единицу) rowcount
©Учиться, учиться и еще раз учиться!

Последний раз редактировалось quit; 23.10.2009 в 18:02. Причина: ступил
quit вне форума
Старый 23.10.2009, 20:45   #28
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

Точно! Вот я канеша даю. Спасибо большое еще раз!
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста сделать поиск по базе данных в форме! Access 2003 LilijaSt Microsoft Office Access 19 25.12.2010 10:13
Не могу организовать поиск! teenboy БД в Delphi 3 03.05.2010 17:17
База данных Access Xeon332 Помощь студентам 5 19.01.2009 03:13
База данных приделать поиск demon9999 Помощь студентам 0 03.06.2008 00:26
как организовать поиск по дате... Pitbull БД в Delphi 18 24.06.2007 22:28