Добрый день !
Не пожалейте пару минут, помогите новичку !!!
Хочу сделать элементарную вещь — наипростейший интерфес к базе, для
этого:
1.В MFC (AppWizard — ом) построил проект (Singl document), связал его с
базой через ODBC. 2.Вставил Microsoft ADO Data Control, тоже связал
его. 3.Вставил Microsoft DataGrid Control, связал его с ADO Data
Control. 4.Запустил — все роботает. 5.Решил поменять названия колонок.
Залез в Property(Grid-а)->Columns, и вижу там только две колонки (0 и
1),вместо пяти(в исходной табл.)... И вот второй день бьюсь над этой
проблемой — КАК ИЗМЕНИТЬ КОЛ-ВО КОЛОНОК!!! Подскажите, плиз, кто знает.
Здравствуйте Стас, Вы писали:
С>Добрый день ! С>Не пожалейте пару минут, помогите новичку !!! С>Хочу сделать элементарную вещь — наипростейший интерфес к базе, для С>этого: С>1.В MFC (AppWizard — ом) построил проект (Singl document), связал его с С>базой через ODBC. 2.Вставил Microsoft ADO Data Control, тоже связал С>его. 3.Вставил Microsoft DataGrid Control, связал его с ADO Data С>Control. 4.Запустил — все роботает. 5.Решил поменять названия колонок. С>Залез в Property(Grid-а)->Columns, и вижу там только две колонки (0 и С>1),вместо пяти(в исходной табл.)... И вот второй день бьюсь над этой С>проблемой — КАК ИЗМЕНИТЬ КОЛ-ВО КОЛОНОК!!! Подскажите, плиз, кто знает.
Боюсь разочаровывать, но с этим ты попал. MS DataGrid только в VB-шных формах мягкий и пушистый, а у сишников с ним проблемы. Не работает пункт меню Retrieve Columns (или как его там).
Вариантов 2:
1) Модифицировать его в рантайме;
2) Найти нормальный грид (Например, VideoSoft'овский).
Здравствуйте retalik, Вы писали:
R>MS DataGrid только в VB-шных формах мягкий и пушистый... R>Вариантов 2: R>1) Модифицировать его в рантайме; R>2) Найти нормальный грид (Например, VideoSoft'овский).
Большое спасибо! А если не сложно — чуть поподробнее по пункту 1)... Хотя бы в двух словах... Я понимаю что надо докопаться до его свойств из программы, но как ?
Еще раз извиняюсь за дилетанство.
Здравствуйте Стас, Вы писали:
С>Здравствуйте retalik, Вы писали:
R>>MS DataGrid только в VB-шных формах мягкий и пушистый... R>>Вариантов 2: R>>1) Модифицировать его в рантайме; R>>2) Найти нормальный грид (Например, VideoSoft'овский). С> С>Большое спасибо! А если не сложно — чуть поподробнее по пункту 1)... Хотя бы в двух словах... Я понимаю что надо докопаться до его свойств из программы, но как ? С>Еще раз извиняюсь за дилетанство.
Ну, например, так. В ClassWizard'е назначить ему переменную. Согласиться с тем, что CW добавит кучу классов-оберток для этого контрола. Затем все же назвать переменную :) — например, m_grid.
Затем подключить в нужном месте всю эту туеву хучу сгенерированных *.h и использовать, типа так:
CColumn c=m_grid.GetColumns().Add(2);
c.SetWidth(4000); //размер, по-моему, в твипах
c.SetCaption("Super-puper column!");
Другой вариант (может быть поприятнее с синтаксисом) — использовать #import <msdatgrd.ocx>, но там есть свои проблемы.
ЗЫ: Свойства и методы конкретного ActiveX можно смотреть идущим с VC OLEView, а лучше всего смотреть с помощью VB Object Browser.
Успехов,
Виталий.
Re[4]: Что же за
От:
Аноним
Дата:
19.05.05 04:28
Оценка:
Здравствуйте, retalik, Вы писали:
R>Другой вариант (может быть поприятнее с синтаксисом) — использовать #import <msdatgrd.ocx>, но там есть свои проблемы. R>ЗЫ: Свойства и методы конкретного ActiveX можно смотреть идущим с VC OLEView, а лучше всего смотреть с помощью VB Object Browser.
А можно подсказать, как это сделать для msdatgrd.ocx (использовуя #import), чтобы можно было ручками создать этот элемент и наполнить так же ручками содержанием, не искользую биндинг?