![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Строки в DBGrid и не только [D6, Paradox]
eclipse © (2006-05-05 05:47:00)Приветствую =)
У меня к Вам такой вопрос... или даже несколько небольших вопросов... сразу прошу прощения если они слишком просты но всё же...
На форме есть DBGrid и кнопка внести изменения... по выделению какого либо поля, то есть скорее всего с помощью SelectedField в другую форму должна передаваться вся строка... не выделенное поле а вся строка (Number|Name|OEM etc Number - ключевое)... и в переданной форме некоторые поля например количество будет изменяться с помощью updown и при нажатии на кнопку изменения отражатся в форме где сам DBGrid и занесутся в другую таблицу изменений вместе с датой изменения....
А также интересно узнать как можно по имеющемуся полю цены в уях автоматически заполнить соседнее поле умножив уи на курс...
заранее огромное спасибо
eclipse (2006-05-06 11:26:00) [21]верна... поторопился =)
теперь получилось получить эти данные в форму изменений... все данные записываются в
DBEditEh1.Text
DBEditEh2.Text
DBEditEh3.Text
DBEditEh4.Text
и помимо этого одна переменная получает номер записи чтобы потом изменения занести в нужную запись....
а теперь встал вопрос как эти изменённые эдиты вставить в тэйбл и в нужную запись...
evvcom (2006-05-06 09:47:00) [22]
> ты в [5] eclipse © (05.05.06 10:41) поторопился сказать
явно поторопился!
Sergey13 (2006-05-06 09:17:00) [23]2 [10] eclipse © (06.05.06 09:12)
Все таки ты в [5] eclipse © (05.05.06 10:41) поторопился сказать, что все понял. Перечитай [4] Sergey13 © (05.05.06 09:00) еще раз. 8-)
> мнение по компонентам EhLib....
У меня - самое полжительное.
eclipse (2006-05-06 09:12:00) [24]to evvcom
=) мне нужно передать всю запись... не важно как в гриде это будет визуально или нет... просто при нажатии на поле записи и потом нажав на кнопку в другой форме будет передана вся запись... именно это мне и нужно =)
и сразу интересно было бы узнать выше мнение по компонентам EhLib....
evvcom (2006-05-06 08:58:00) [25]
> Основные методы работы Insert, Edit, Delete и Post.
Я бы сюда все ж добавил еще методы навигации: чаще Next, First, Last, реже Prev и MoveBy, проверку на границы Eof и Bof, и доступ к полям FieldByName и иногда Fields[Index] (тогда и FieldCount). Остальное в справке смотри по TDataSet.
> и всё таки не могу представить как сделать выделение всей
> записи....
Что есть "выделение"? За визуализацию отвечает в твоем случае грид, а если ты хочешь куда-то передать "всю строку", то передавай просто DataSet, а там добирайся до любого свойства, поля и пр. Если передать хочешь выделенную в гриде ячейку, то ищи поле (TField) ей соответствующее, его и передавай.
eclipse (2006-05-06 08:11:00) [26]так... значит чтобы автоматически обновить курсы нужно удалить поле с ценой в уях и его получается создавать динамически... ну и производить вычисления с имеющимся полем цены в уях... верно????
и всё таки не могу представить как сделать выделение всей записи.... здесь должно быть всё просто скорее всего... но не знаю как... поэтому оч хотелось бы посмотреть на пример если не затруднит....
Sergey13 (2006-05-05 11:43:00) [27]2 [6] eclipse © (05.05.06 11:30)
Хм. Тут на книгу хватит писанины.
ДатаСет - образ набора данных из БД на клиенте. Основные методы работы Insert, Edit, Delete и Post. Первые три собственно меняют инфу, а последний фиксирует изменения образа в самой БД (с последним не все однозначно и зависит от многих факторов, но в общем случае примерно так).
Вычисляемые (бывают на клиенте и на сервере) поля - это поля которых физически нет в БД и которые получаются с помощью действий над имеющимися. Пример: есть количество и цена получаем стоимость.
eclipse (2006-05-05 11:30:00) [28]а всё таки не могли бы вы привести небольшие примерчики как работать с сетами... и немного рассказать про вычисляемое поле... мне так будет просто и быстро всё освою... просто именно на делфи с базами данных стал работать несколько дней назад... раньше кодил только на пхп и там как то всё проще было =) а на делфи прочими вещами занимался...
заранее очень признателен =)
eclipse (2006-05-05 10:41:00) [29]всё =) понятна =) уяснил.... грид тока для отображения... сет для манипуляций... =)
пасиба огромное... сейчас буду пытаться пробовать сделать то что нада... если не получится то снова приду за советами =)
Sergey13 (2006-05-05 09:00:00) [30]2 eclipse © (05.05.06 05:47)
Уясни себе раз и навсегда, что В ГРИДЕ НЕТ ДАННЫХ . Данные есть в ДатаСете. Ткнув в гриде на любое поле записи ты спозиционировал ДатаСет на конкретную ЗАПИСЬ, и можешь обращаться к полям этой записи откуда и как угодно, т.е. читать и писать из/в них.
Хозяин (2006-05-05 06:28:00) [31]И забудьте про "Строки в DBGrid", есть записи в рекордсете.
/*уф, дебют состоялся :)*/
Хозяин (2006-05-05 06:25:00) [32]А также интересно узнать как можно по имеющемуся полю цены в уях автоматически заполнить соседнее поле умножив уи на курс...
Вычисляемое поле?
Хозяин (2006-05-05 06:23:00) [33]Один из вопросов я прочитал пока так:
должна передаваться вся строка... не выделенное поле а вся строка (Number|Name...
т.е. не SelectedField а вся строка, а Вы пишите:
скорее всего с помощью SelectedField
Раз вся строка, то зачем Вам "выделенное поле"?
Ели поняли о чем я.
;)