Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Настройка Grid / 14 сообщений из 14, страница 1 из 1
02.11.2012, 10:04
    #38022815
Иухенио
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Ребят подскажите пожалуйста, я пытаюсь настроить 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'ах не отображаются выбранные значения. Подскажите, может кто делал что-нибудь подобное.
...
Рейтинг: 0 / 0
02.11.2012, 10:26
    #38022850
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Иухенио,

У ComboBox есть RowSource - откуда брать данные b СщтекщдЫщгксу - куда записывать.
...
Рейтинг: 0 / 0
02.11.2012, 10:39
    #38022883
Иухенио
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
хм.. вроде бы указал с самого начала, но все равно что то не получается.
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.
...
Рейтинг: 0 / 0
02.11.2012, 10:59
    #38022925
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Иухенио,

А данные в курсоре ты можешь редактировать?
...
Рейтинг: 0 / 0
02.11.2012, 11:11
    #38022943
Иухенио
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
да, вот при изменении значений 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
...
Рейтинг: 0 / 0
02.11.2012, 11:26
    #38022985
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Иухенио,

А кто будет CurrentControl колонки прописывать?
...
Рейтинг: 0 / 0
02.11.2012, 11:26
    #38022988
Иухенио
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
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.
...
Рейтинг: 0 / 0
02.11.2012, 11:30
    #38023001
Иухенио
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Привязаны, я сам грид кинул на форму руками, и сразу добавил контролы для первой и третей колонки и указал их текущими, а все остальные настройки задаю программно
...
Рейтинг: 0 / 0
02.11.2012, 11:41
    #38023029
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Иухенио,

Т.е. при изменении значения комбо в 3-й колонке значения должны записываться во 2-ю?
...
Рейтинг: 0 / 0
02.11.2012, 11:45
    #38023047
Иухенио
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Нет, при изменении Combo занчения должны заносится в третью колонку.
...
Рейтинг: 0 / 0
02.11.2012, 11:48
    #38023055
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
И что такое .BoundColumn = 2 ?
...
Рейтинг: 0 / 0
02.11.2012, 11:48
    #38023057
Иухенио
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Блин, все вроде бы исправил. Просто внимательнее нужно было настраивать. Ошибочно указал у Combo свойство BoundColumn неправильно. Ребят спасибо большое!!!
...
Рейтинг: 0 / 0
02.11.2012, 11:54
    #38023068
Иухенио
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
Ребят а подскажите пожалуйста, у меня главная цель написать конвертер из DBF в MySQL. Много что перепробовал нашел способ наиболее оптимальный, скорость копирования очень высокая, чуть менее 3,5 млн записей скопировал за 35-40 минут. Но я все прописывал жестко: таблицу-источник, таблицу приемник, список полей, ну и сам запрос формировал вручную. Теперь хочу сделать так чтобы таблицы и поля можно было указывать динамически, в процессе выполнения программы, вот собственно для этого и решил использовать такой грид. Никто не сталкивался с такой задачей ? может есть более оптимальные способы решения данной задачи?
...
Рейтинг: 0 / 0
02.11.2012, 12:03
    #38023088
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка Grid
ИухениоРебят а подскажите пожалуйста, у меня главная цель написать конвертер из DBF в MySQL. Много что перепробовал нашел способ наиболее оптимальный, скорость копирования очень высокая, чуть менее 3,5 млн записей скопировал за 35-40 минут. Но я все прописывал жестко: таблицу-источник, таблицу приемник, список полей, ну и сам запрос формировал вручную. Теперь хочу сделать так чтобы таблицы и поля можно было указывать динамически, в процессе выполнения программы, вот собственно для этого и решил использовать такой грид. Никто не сталкивался с такой задачей ? может есть более оптимальные способы решения данной задачи?Кто мешает? Загоняй "таблицы и поля" в переменные и указывай эти переменные в запросе. :)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Настройка Grid / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]