阅读:2439回复:4
这里居然无人呀,我的问题怎么办呀在delphi中如何绑定ado数据源呀,那个能帮助我呀,我们可是个论坛呀,我自己在这里怎么论呀 |
|
1楼#
发布于:2003-11-02 12:43
论坛里发过不少有关数据绑定的贴,我想你不会就知道等别人答案,而不去看资料吧?我们是个论坛,但并不是没资料可看,有些问题从前讨论过,你可以看看。的确这里人气还不够,很欢迎你来这里讨论,只是我觉得学习方法也很重要!
|
|
|
2楼#
发布于:2003-11-03 09:27
我是全部看了这里面的每一个问题和答案之后才提问的这个问题,你这么说,并且是这么没有礼貌的说,则么让我这个新来的会员寒心呀
|
|
3楼#
发布于:2003-11-05 12:36
以下是引用bmoon在2003-11-3 9:27:25的发言: 怎样用miDataSetGlobalHandle来实现数据的绑定 CMapXBindLayer bLayer; CMapXFields flds; bLayer.CreateDispatch(bLayer.GetClsid()); flds.CreateDispatch(flds.GetClsid()); //Our source data in the correct tab-delimited form. //In practice, this could come from a text file or some //other source. const char* tabifiedData = "\"Cust1\"\t\"Loc1\"\t-72.40\t42.22\r\n" "\"Cust2\"\t\"Loc2\"\t-75.40\t40.48\r\n" "\"Cust3\"\t\"Loc3\"\t-76.40\t38.02\r\n"; bLayer.SetLayerName("Customer"); bLayer.SetRefColumn1(3); bLayer.SetRefColumn2(4); bLayer.SetLayerType(miBindLayerTypeXY); flds.Add(1, "Customer"); flds.Add(2, "Location"); flds.Add(3, "X"); flds.Add(4, "Y"); //The global handle which will contain the actual data. HGLOBAL hGlobalData=NULL; //This temporarily points to the location of the locked //handle's data char* pHandleData=NULL; COleVariant SourceData; //Allocate space for the handle's data and copy the source //data into it hGlobalData = GlobalAlloc(GMEM_MOVEABLE, strlen(tabifiedData)+1); pHandleData = (char*)GlobalLock(hGlobalData); strcpy(pHandleData, tabifiedData); GlobalUnlock(hGlobalData); pHandleData = NULL; //Point the SourceData variant at the global handle SourceData.vt = VT_I4; SourceData.lVal = (long)hGlobalData; try { //Now add the Dataset to the Datasets collection COleVariant bindVt, fldsVt; COptionalVariant optVt; fldsVt.vt = VT_DISPATCH; fldsVt.pdispVal = flds.m_lpDispatch; bindVt.vt = VT_DISPATCH; bindVt.pdispVal = bLayer.m_lpDispatch; CMapXDataset ds = m_ctrlMapX.GetDatasets().Add(miDataSetGlobalHandle, SourceData, COleVariant("My Dataset"), COleVariant(1l), optVt, bindVt, fldsVt, optVt); //Create a simple Theme from the data ds.GetThemes().Add(COptionalVariant(), COptionalVariant(), COptionalVariant()); } catch (COleDispatchException *e) { e->ReportError(); e->Delete(); } catch (COleException *e) { e->ReportError(); e->Delete(); } |
|
|
4楼#
发布于:2003-11-05 18:24
这个问题好象已经讨论了n遍了哦:)
现在把他固定 好的不? |
|
5楼#
发布于:2003-11-09 10:28
呵呵,不好意思,我是个菜鸟,没有发现:)
|
|