Форум программистов, компьютерный форум CyberForum.ru

хочу tree-like view в приложении использующем ADO и Microsoft DataGrid Control - C++

Восстановить пароль Регистрация
 
demask
Сообщений: n/a
15.02.2011, 09:59     хочу tree-like view в приложении использующем ADO и Microsoft DataGrid Control #1
All,

В существующей аппликации на C++/MFC использую АДО+Microsoft DataGrid Control
Потребовалось заюзать tree-like view в гриде (ну типа чтобы можно было использу multiple data sources кликнуть по строке и раскрыть какую-нибудь подтаблицу).

Сейчас у меня грид биндится к ADO recordset'у следующим образом (m_pGrid - это объект wrapper-класса CDataGrid):

C_Recordset& rc=m_ctlADODC.GetRecordset();
m_pGrid.SetRefDataSource(NULL);
m_pGrid.SetRefDataSource(rc);
m_pGrid.SetAllowAddNew(FALSE);// allow empty '*'-field at top
m_pGrid.SetAllowUpdate(FALSE);// disallow editing current records
m_pGrid.SetAllowDelete(FALSE);// disallow deleting by pressing Del (???)
m_pGrid.SetAllowArrows(TRUE); // allow arrows keys (???)
m_pGrid.Refresh();
m_pGrid.UpdateData();



А так соответственно создается ADO data source (m_ctlADODC - это Microsoft ADODC Control, объект wrapper-класса CAdodc):

CHAR szTemp[256];
::sprintf(szTemp,'SELECT * FROM [%s] ORDER BY [%s]',table_db_dao,field_id);
m_ctlADODC.SetConnectionString(NULL);
m_ctlADODC.SetMaxRecords(ADODC_MAX_RECORDS);
m_ctlADODC.SetCacheSize(ADODC_CACHE_SIZE);
m_ctlADODC.SetRecordSource(NULL);
lstrcat(szConnectionString,GetDocument()->GetPathName());
lstrcat(szConnectionString,_T(';'));
m_ctlADODC.SetConnectionString(szConnectionString);
m_ctlADODC.SetRecordSource(_T(szTemp));
m_ctlADODC.SetCursorType(adOpenDynamic);
// don't use adLockBatchOptimistic since Grid refresh works badly with it
m_ctlADODC.SetLockType(adLockOptimistic);
m_ctlADODC.SetCommandType(adCmdTable);
// use adCmdTable for table command type
m_ctlADODC.SetCommandType(adCmdText);
m_ctlADODC.SetBackColor(ADODC_COLOR);
m_ctlADODC.SetCaption(_T('Navigation'));
// if here an error with code DISP_E_EXCEPTION=0x80020009 occurs, check
// the Connection String for invalid value
m_ctlADODC.Refresh();




Что нужно сделать чтобы использовать tree-view и multiple data sources? Очень приветствуется пример с использованием грида Microsoft DataGrid Control, т.к. это уже существующая прога и требуется мигимальное кол-во переделок....

Спасибо!

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2011, 09:59     хочу tree-like view в приложении использующем ADO и Microsoft DataGrid Control
Посмотрите здесь:

C++ Люди помогите с Tree View Control
C++ Tree, set, map etc.
C++ RB tree удаление узла
параметризированный запрос и ADO control C++
C++ ADO Data Grid Control
C++ объекты класса TREE
C++ Добавление узла и т.д. в B-tree
Dfs Binary Tree, поиск элемента C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 23:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru