头文件

#pragma once
#include "D:\Work\山东项目\StandardizedDrawing\sdUtils\CSGrid.h"
#include "ZwLResources.h"
class CPaneGrid :
public CSGrid
{
public:
CPaneGrid(void);
~CPaneGrid(void);
protected:
DECLARE_MESSAGE_MAP()
protected:
virtual VOID OnCellComboString(CSGridCell&cell, CComboBox&combo);
// virtual VOID OnRClickRow(CSGridRow&row, CPoint point);
// virtual VOID OnRClickCol(CSGridCol&col, CPoint pt);
// virtual BOOL OnRowSelectChange(int nOldRow, int &nNewRow);
};

cpp文件

#include "StdAfx.h"
#include "PaneGrid.h"
#include "OdbcDatabase.h"
#include "GlobalArxUtils.h"
#include "GlobalUtils.h"
#include "CSGrid.h"

CPaneGrid::CPaneGrid() :CSGrid(FALSE)
{
AppendColumn(_T("属性名称"), 70);
AppendColumn(_T("值"), 120);
GetCol(GetColumnCount() - 1).SetComboEdit(TRUE);
}
BEGIN_MESSAGE_MAP(CPaneGrid, CSGrid)
END_MESSAGE_MAP()
CPaneGrid::~CPaneGrid(void)
{
}
VOID CPaneGrid::OnCellComboString(CSGridCell&cell, CComboBox&combo)
{
long lIndexRow = cell.GetRowIndex();
long lIndexCol = cell.GetColIndex();
CSGridCell cellNmae=CSGrid::GetCell(lIndexRow, lIndexCol-1);
CString ProName=cellNmae.GetText();
CString sDatabase;
sDatabase.Format(_T("%sData\\%s"), GetAppRoot(), SDDATABASE);
COdbcDatabase db;
CString sQuery;
CStringList slResults;
CString sValue;
if (db.InitializeWithPath(sDatabase))
{
sQuery.Format(
_T("SELECT AlternativeValue FROM ")
_T("%s ") _T("WHERE [PropertyName] = '%s'"),
TABLE_CUSTOMPROPERTY, ProName);
slResults.RemoveAll();
db.GetQuery(sQuery, slResults);
}
POSITION rPos;
rPos = slResults.GetHeadPosition();
while (rPos != NULL)
{
sValue = slResults.GetNext(rPos);
//拆分字符串
CStringArray saCf;
int iPos = -1;
while ((iPos = sValue.Find(',')) != -1)
{
saCf.Add(sValue.Left(iPos));
sValue.Delete(0, iPos + 1);
}
saCf.Add(sValue);
int iNum=saCf.GetCount();
for (int i = 0; i < iNum;i++)
{
combo.AddString(saCf.GetAt(i));
}
}
return CSGrid::OnCellComboString(cell, combo);
}

重定义csgrid 然后用新定义的类去创建函数

最新文章

  1. s3c2440 上txt 小说阅读器
  2. C# Azure 存储-分布式缓存Redis的新建&amp;配置&amp;查看
  3. 【对noip结束后一个月内的总结】
  4. 微信小程序笔记(二)
  5. gomoblie flappy 源码分析:游戏逻辑
  6. DataX的简单编译安装测试
  7. JQUERY1.9学习笔记 之可见性过滤器(一) 隐藏选择器
  8. Spring 基础知识
  9. 周赛A题
  10. Go语言AST尝试
  11. ceph 块设备
  12. PHP 9: 表达式
  13. 自定义template
  14. arcpy简单示例
  15. window.opener和window.open
  16. 【Guava】使用Guava的RateLimiter做限流
  17. odoo开发笔记 -- 多对多字段追加数据
  18. LeetCode题解之Unique Paths
  19. 【刷题】清橙 A1339 JZPLCM(顾昱洲)
  20. 【httpclient-4.3.1.jar】httpclient发送get、post请求以及携带数据上传文件

热门文章

  1. tomcat这种http服务器,是能接收到客户端的断开信息的,并能打印出来
  2. socket短连接、长连接
  3. C++ Sleep Function 使用方法 Sleep(-1)
  4. LeetCode 三数之和 — 优化解法
  5. MVC之ActionFilterAttribute
  6. 【转】MySQL随机字符串生成
  7. html 转word
  8. android Activity初次的启动的时候播放声音
  9. bzoj4872
  10. 新版chrome调整开发者工具位置方式改变