Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

DBGrid Control

1.6K
19 января 2002 года
krartem
2 / / 20.09.2000
Как работать с DBGrid Control в VC++.
Если можно пришлите примеры программ на
[EMAIL]krartem@mail.ru[/EMAIL] .
2.1K
04 декабря 2003 года
VisualCraft
20 / / 24.11.2003
И мне пришлите плиз! Очень нужно
[email]tahteev@mail.ru[/email]
2.7K
05 декабря 2003 года
Test_System
18 / / 19.05.2003
Я отправил кусок кода по инициализации Grida, да и сам Grid.
Код продублирую на всякий случай.
________________________________________________
#include ".\\Grid\\GridCtrl.h"
CGridCtrl m_Grid;
в OnInitDialog
m_Grid.Create(rect1,this,WM_USER+3000);

bool InitialGrids()
{
try
{
m_Grid.DeleteAllItems();
if(m_rs.IsOpen()) m_rs.Close();
m_rs.m_pDatabase=&m_db;
// MessageBox(SqlSearch);
m_rs.Open(CRecordset::snapshot,SqlSearch,CRecordset::readOnly);
for(int count=0;!m_rs.IsEOF();count++)
{
m_rs.MoveNext();
}

if(count==NULL) return false;
m_rs.MoveFirst();
m_Grid.SetFixedColumnCount();
m_Grid.SetFixedRowCount();
m_Grid.SetColumnCount(m_rs.GetODBCFieldCount()+1);
CString str;
CDBVariant vt;
CODBCFieldInfo m_info;
for(int i=0; i<m_rs.GetODBCFieldCount() && i<8; i++)
{
m_rs.GetODBCFieldInfo(i, m_info);
m_Grid.SetItemText(0,i+1, m_info.m_strName);
}
m_Grid.SetRowCount(count+2);
for(i=0;i<count;i++)
{
if(i!=0)
{
str.Format("%d", i);
m_Grid.SetItemText(i,0,str);
}
for (int j=0; j<m_rs.GetODBCFieldCount() && j<8; j++)
{

m_rs.GetFieldValue(j, vt);
CString * srs=new CString;
switch(vt.m_dwType)
{
case DBVT_STRING:
srs=vt.m_pstring;
break;
case DBVT_LONG:
srs->Format("%d",vt.m_lVal);
break;
case DBVT_UCHAR:
srs->Format("%s",vt.m_chVal);
break;
}
m_Grid.SetItemText(i+1, j+1, *srs);
}
m_rs.MoveNext();
}
str.Format("%d", i);
m_Grid.SetItemText(i,0,str);
CRect rect;
GetClientRect(rect);
m_Grid.SetColumnWidth(1,rect.Width()/8);
m_Grid.SetColumnWidth(2,rect.Width()/8);
m_Grid.SetColumnWidth(3,rect.Width()/12);
m_Grid.SetColumnWidth(4,rect.Width()/12);
m_Grid.SetColumnWidth(5,rect.Width()/8);
m_Grid.SetColumnWidth(6,rect.Width()/8);
m_Grid.SetColumnWidth(7,rect.Width()/8);
m_Grid.SetColumnWidth(8,rect.Width()/8);
m_Grid.Invalidate();
return true;
}
catch(...)
{
if(m_rs.IsOpen()) m_rs.Close();
MessageBox("&#198;&#232;&#231;&#237;&#252; &#239;&#238;&#235;&#237;&#224; &#237;&#229;&#238;&#230;&#232;&#228;&#224;&#237;&#237;&#238;&#241;&#242;&#229;&#233;...(CDataBaseDlg::InitialGrids)","&#206;&#248;&#232;&#225;&#234;&#224;",MB_OK | MB_ICONERROR);
return false;
}
}
нициализация Grida

CCellID pt;
pt=m_Grid.GetFocusCell();
m_Grid.GetItemText(pt.row,pt.col); - выборка значения из выбранной ячейки
Вроде так...
2.1K
07 декабря 2003 года
VisualCraft
20 / / 24.11.2003
Большое Человеческое Спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог