tree-like view в ADO+Microsoft datagrid Control

Тема в разделе "MS Visual C++", создана пользователем demask, 8 дек 2004.

Статус темы:
Закрыта.
  1. demask

    demask Гость

    All,

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

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

    Код (Text):
            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):

    Код (Text):
        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, т.к. это уже существующая прога и требуется мигимальное кол-во переделок....

    Спасибо!
     
Загрузка...
Похожие Темы - tree like view
  1. mikl81
    Ответов:
    0
    Просмотров:
    1.526
  2. ilya00
    Ответов:
    5
    Просмотров:
    3.042
  3. Gudzik11
    Ответов:
    1
    Просмотров:
    1.500
  4. AnthonySoprano
    Ответов:
    2
    Просмотров:
    3.524
  5. bobo
    Ответов:
    1
    Просмотров:
    2.462
Статус темы:
Закрыта.

Поделиться этой страницей