数据库:vc++6下用DataGrid控件问题两个
1 绑定显示access数据库时,如何让记录中的bool值显示为true/false而不是-1?
2 一条记录跨多个表时,我先生成查询,再将查询和datagrid绑定,这时不能在datagrid中直接进行记录的添加和修改,多日不能解决,请教高手!
注:我用的是ado进行操作
我的邮箱xuh_h1224@sohu.com,请高手指教!
问题点数:0、回复次数:4Top
1 楼dyw(旺仔)回复于 2002-06-04 10:06:02 得分 0
1.做法如下:
1)在StdAfx.h文件中添加:
#import "C:\WINNT\system32\Msstdfmt.dll" no_namespace
2)在CYourDlg.h文件中添加:
IStdDataFormatDispPtr spIStdDataFormatDisp;
3)在CYourDlg::OnInitDialog()中添加:
spIStdDataFormatDisp.CreateInstance("MSSTDFMT.StdDataFormat");
spIStdDataFormatDisp->put_Type(fmtBoolean);
spIStdDataFormatDisp->put_TrueValue(COleVariant("Yes"));
spIStdDataFormatDisp->put_FalseValue(COleVariant("No"));
spIStdDataFormatDisp->put_NullValue(COleVariant(""));
CColumns cols = m_datagrid.GetColumns();
COleVariant var;
var.vt = VT_I4;
var.lVal = 4; // your boolean field's position, i assume 4.
CColumn colBool = cols.GetItem(var);
colBool.SetRefDataFormat(spIStdDataFormatDisp);
2. "一条记录跨多个表时, ..."
一般不允许记录的添加和修改。
Top
2 楼wyzegg(蛋)回复于 2002-06-04 10:22:38 得分 0
写程序解决
Top
3 楼hhx2731(四不象)回复于 2002-06-04 22:46:36 得分 0
to dyw(旺仔)
感谢你的提供,datagrid中bool值的显示已经搞定。最好能把datagrid中不能直接操作跨多表记录的问题也解决,呵呵。另外,不知道随datagrid控件带来的stdformatdisp类是做什么用的,不知大虾能否提供点信息,谢谢。Top
4 楼dyw(旺仔)回复于 2002-06-10 09:12:39 得分 0
1)"操作跨多表记录"
查看Access的帮助(MSDN)
2)"datagrid控件带来的stdformatdisp"
查看VB的Format Objects(MSDN)Top



