|
Настройка Grid
|
|||
---|---|---|---|
#18+
Ребят подскажите пожалуйста, я пытаюсь настроить Grid следующим образом: в Grid'е три колонки, первая колонка CheckBox, вторая обычный Text, третья ComboBox. У Grid'а источник данных Курсор1(Field1 Bool, Field2 Char, Field3 Char), у каждой колонки отдельно прописываю источник данных, у ComboBox источник данных ставлю Курсор2. Пытаюсь сделать, чтобы при изменении CheckBox и Combobox данные записывались в Курсор1. Меняю значения CheckBox изменения в курсоре отображаются, меняю значения в Combobox данные в Курсор1 не сохраняются. Пробовал писать в событии InteractiveChange у Combobox запрос на обновление данных поусловию: FieldValue = crSQLStruct.sqlfield UPDATE crSQLStruct SET crSQLStruct.DBFField = ALLTRIM(This.DisplayValue) WHERE crSQLStruct.sqlField = fieldValue Данные заносятся в Курсор1, кроме первой и последней, и в самом Grid'е в Combobox'ах не отображаются выбранные значения. Подскажите, может кто делал что-нибудь подобное. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 10:04 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
Иухенио, У ComboBox есть RowSource - откуда брать данные b СщтекщдЫщгксу - куда записывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 10:26 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
хм.. вроде бы указал с самого начала, но все равно что то не получается. WITH ThisForm.grStruct.Column3.cmbDBF .BoundTo = .T. .BoundColumn = 2 .ControlSource = 'crSQLStruct.DBFField' .RowSourceType = 2 .RowSource = 'crDBFStruct.Field_Name' .Style = 2 ENDWITH crSQLStruct - курсор1, crDBFStruct - курсор2. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 10:39 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
Иухенио, А данные в курсоре ты можешь редактировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 10:59 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
да, вот при изменении значений CheckBox, изменения отражаются, а при изменении Combobox, там как было пусто так и есть. Открываю для просмотра курсор руками могу та вписать все что угодно, а из ComboBox почему то данные не попадают. вот полностью настройки грида, может что то упустил или не так настроил: WITH ThisForm.grStruct .ColumnCount = 3 .Column1.Width = 30 .Column2.Width = 100 .Column3.Width = 100 .RecordSource = 'crSQLStruct' .Column2.ControlSource = 'crSQLStruct.SQLField' ENDWITH *Добавляем CheckBox в колонку WITH ThisForm.grStruct.Column1 .RemoveObject('Text1') .chMark.Caption = '' .Sparse = .F. .Bound = .F. .chMark.visible = .T. .chMark.ControlSource = 'crSQLStruct.Mark' ENDWITH *Добавляем ComboBox WITH ThisForm.grStruct.Column3 .RemoveObject('Text1') .Sparse = .F. .Bound = .F. .cmbDBF.visible = .T. ENDWITH *Настраиваем ComboBox WITH ThisForm.grStruct.Column3.cmbDBF .BoundTo = .T. .BoundColumn = 2 .ControlSource = 'crSQLStruct.DBFField' .RowSourceType = 2 .RowSource = 'crDBFStruct.Field_Name' .Style = 2 ENDWITH ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:11 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
Иухенио, А кто будет CurrentControl колонки прописывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:26 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
SQLStruct (Mark Bool, SQLField Char, DBFField CHAR) - источник данных для Grid, в него и должно все записываться, его я создаю программно: CREATE CURSOR crSQLStruct (Mark B, SQLField C(30), DBFField C(50)) У ComboBox источник данных курсор SQLDBFStruct, состоит из одного поля. В целом как я понял в данной ситуации алгоритм следующий: 1.Создаем Грид 2.Устанавливаем нужные объекты в колонках 3.Указываем у Грид источник данных Первый курсор. 4. Указываем у каждого столбца источник данных конкретное поле первого курсора 5. Указываем источник данных у Combo - второй курсор 6. У колонок, где меняли контролы устанавливаем Sparse = .F. и Bound = .F. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:26 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
Привязаны, я сам грид кинул на форму руками, и сразу добавил контролы для первой и третей колонки и указал их текущими, а все остальные настройки задаю программно ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:30 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
Иухенио, Т.е. при изменении значения комбо в 3-й колонке значения должны записываться во 2-ю? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:41 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
Нет, при изменении Combo занчения должны заносится в третью колонку. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:45 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
И что такое .BoundColumn = 2 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:48 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
Блин, все вроде бы исправил. Просто внимательнее нужно было настраивать. Ошибочно указал у Combo свойство BoundColumn неправильно. Ребят спасибо большое!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:48 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
Ребят а подскажите пожалуйста, у меня главная цель написать конвертер из DBF в MySQL. Много что перепробовал нашел способ наиболее оптимальный, скорость копирования очень высокая, чуть менее 3,5 млн записей скопировал за 35-40 минут. Но я все прописывал жестко: таблицу-источник, таблицу приемник, список полей, ну и сам запрос формировал вручную. Теперь хочу сделать так чтобы таблицы и поля можно было указывать динамически, в процессе выполнения программы, вот собственно для этого и решил использовать такой грид. Никто не сталкивался с такой задачей ? может есть более оптимальные способы решения данной задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 11:54 |
|
Настройка Grid
|
|||
---|---|---|---|
#18+
ИухениоРебят а подскажите пожалуйста, у меня главная цель написать конвертер из DBF в MySQL. Много что перепробовал нашел способ наиболее оптимальный, скорость копирования очень высокая, чуть менее 3,5 млн записей скопировал за 35-40 минут. Но я все прописывал жестко: таблицу-источник, таблицу приемник, список полей, ну и сам запрос формировал вручную. Теперь хочу сделать так чтобы таблицы и поля можно было указывать динамически, в процессе выполнения программы, вот собственно для этого и решил использовать такой грид. Никто не сталкивался с такой задачей ? может есть более оптимальные способы решения данной задачи?Кто мешает? Загоняй "таблицы и поля" в переменные и указывай эти переменные в запросе. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 12:03 |
|
|
start [/forum/topic.php?fid=41&msg=38023057&tid=1583361]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 265ms |
total: | 417ms |
0 / 0 |