True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца? - VB
Формулировка задачи:
Здравствуйте!
В базе данных есть таблица с наименованиями параметров.
Грид прицеплен к этой таблице, и у него есть еще один unbound-столбец для ручного ввода. Необходимо внести в базу данных значения этого столбца.
Исходный код:
Проблема в том, что визуально все в порядке (т.е. введенные значения в ячейках остаются), но когда начинаешь в цикле перемещаться по гриду, для того, чтобы заполненные ячейки внести в БД, то каждый раз получаешь только последнее введенное значение.
Никак не могу понять, в чем проблема, такое ощущение, что перемещения по гриду не происходит.
Помогите, кто может...
В базе данных есть таблица с наименованиями параметров.
Грид прицеплен к этой таблице, и у него есть еще один unbound-столбец для ручного ввода. Необходимо внести в базу данных значения этого столбца.
Исходный код:
Проблема в том, что визуально все в порядке (т.е. введенные значения в ячейках остаются), но когда начинаешь в цикле перемещаться по гриду, для того, чтобы заполненные ячейки внести в БД, то каждый раз получаешь только последнее введенное значение.
Никак не могу понять, в чем проблема, такое ощущение, что перемещения по гриду не происходит.
Помогите, кто может...
Решение задачи: «True DBGrid Pro 7.0 - как в цикле прочитать значения unbound-столбца?»
textual
Листинг программы
<font color="blue">Dim</font> rs_c <font color="blue">As</font> ADODB.Recordset <font color="00AA00">' Клон</font> <font color="blue">Const</font> ColNameZnach <font color="blue">As</font> <font color="blue">Integer</font> = <font color="darkblue"><b>2</b></font> <font color="00AA00">' Имя/позиция столбца с ручным вводом</font> <font color="blue">Const</font> ColNameId <font color="blue">As</font> <font color="blue">String</font> = <font color="teal">"Potoki_id"</font> <font color="blue">Const</font> ColNameName <font color="blue">As</font> <font color="blue">String</font> = <font color="teal">"Name"</font> <font color="blue">Const</font> MaxZnach = <font color="darkblue"><b>200</b></font> <font color="00AA00">' Макс. кол-во значений ручного ввода. Знаю, нехорошо таким образом ограничивать массив, но пока так...</font> <font color="blue">Dim</font> Znach(MaxZnach) <font color="blue">As</font> <font color="blue">Double</font> <font color="00AA00">' массив значений</font> <font color="blue">Private</font> <font color="blue">Sub</font> TDBGrid1_BeforeUpdate(Cancel <font color="blue">As</font> <font color="blue">Integer</font>) rs_c.Bookmark = TDBGrid1.Bookmark Znach(rs_c.Fields(ColNameId)) = TDBGrid1.Columns(ColNameZnach).Value <font color="00AA00">'Запоминаем в массиве введенное значение</font> <font color="blue">End</font> <font color="blue">Sub</font> <font color="blue">Private</font> <font color="blue">Sub</font> TDBGrid1_UnboundColumnFetch(Bookmark <font color="blue">As</font> Variant, <font color="blue">ByVal</font> Col <font color="blue">As</font> <font color="blue">Integer</font>, Value <font color="blue">As</font> Variant) rs_c.Bookmark = Bookmark <font color="00AA00">' Передвинулись в клоне на этот же ряд</font> Value = Znach(rs_c.Fields(ColNameId)) <font color="00AA00">' Присвоили ячейке значение из массива</font> <font color="blue">End</font> <font color="blue">Sub</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д