Шаг 367 - Используем Microsoft DataGrid OLEDB

Чем он отличается от DBGRID читайте "Шаг 59 - Чем плох DBGRID". Этот элемент управления можно подключить к проекту.

Как видите он находится в MSDATGRD.OCX. Он с классами будет в проекте. Классов он создает много.

Использовать его в принципе, то совсем не сложно. Возьмем проект из прошлого шага. Добавим описание классов. Мы можете либо взять их из проекта либо вставить элемент.

//////////////////////
// CADOTestDlg dialog
#include "adodc.h"
#include "datagrid.h"
#include "_recordset.h"

class CADOTestDlg : public CDialog

Описываем объект:

class CADOTestDlg : public CDialog
{
// Construction
public:
	CADOTestDlg(CWnd* pParent = NULL);	// standard constructor
	CAdodc ca;
	C_Recordset cr;
	CDataGrid  cmg;
// Dialog Data

Ну и создать, показать, связать с ADODC

BOOL CADOTestDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	ca.Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE, CRect(0, 0, 400, 200), this, 111);
	ca.ShowWindow(SW_HIDE);
	ca.SetConnectionString("PROVIDER=MSDASQL.1;dsn=Auto;uid=sa;pwd=123;database=auto;");
	ca.SetRecordSource("SELECT * FROM car"); 
	ca.Refresh(); 
	cr=ca.GetRecordset(); 
	cmg.Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE, CRect(0, 0, 400, 200), this, 1111);
	cmg.ShowWindow(SW_SHOW);
	cmg.SetRefDataSource(cr);
	cmg.UpdateData(); 
	long i=cr.GetRecordCount(); 
	char buffer[255];
	itoa(i,(char*)&buffer,10);
	AfxMessageBox(buffer);
	// Add "About..." menu item to system menu.

А вот результат:


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 15.09.2001