我刚到公司,用vc.技术主管让我作个小任务:
多层网格1 目的和意义:
嵌套网格界面控件,可用于在一个界面上层次的显示多张表中的数据和他们之间的关联关系,独立的对每张表中的数据作添加、修改、删除操作。2 基本要求:
本控件默认显示父表数据,当选择展开父表中某条记录时,在父表向右缩进一行显示对应的子表数据(含标题栏),当选择展开子表中某条记录时,与上面相同动作。而且,父、子、孙表都可以独立进行数据的添、删、改,查找、筛选、排序等。

控件初始化时只加载父表中的数据。与一般网格控件不同的是,若某一数据行有子数据行,则在其首字段前部显示合并的树结点图示,否则显示展开的树结点图示,如上图。
单击合并的树结点图示可以展开得到一个嵌套的子网格。嵌套网格的显示方式为:
根表的数据行顶格显示,其后每级子表的数据在主数据行展开后,退一格显示,且在首部显示子数据行的字段名;
展开子数据行后,其主数据行与子数据行间有虚线相连;
对于非根表字段标题的显示。如果显示区域当前有某一非根表数据,且其首数据行不在显示范围内时,其字段标题自动显示在子网格的顶部。3 接口要求:
a) 提供插入、删除、修改数据(包含子数据行)的操作接口;
b) 提供取得指定数据行子数据行的行数的功能;

4 实现步骤:
根据嵌套网格界面设计文档的要求,嵌套网格界面控件的开发计划分为几步完成。
1、 首先要求实现界面的展开、合并操作;
2、 要求实现网格的编辑功能:记录的添、删、改。
3、 要求实现网格的特殊编辑功能(按行、列设置编辑模式);请问能告知小弟用什么技术,用什么方法实现吗?

解决方案 »

  1.   

    数据库操作在你的描述中,看起来都很简单,都是数据库的一般操作,所以这儿应该不是难点。个人认为最主要的是你的界面,你所要求的这个控件类似于某些论坛的显示,即:显示的是论坛名称,展开后可以在它下面看到里面的帖子,展开帖子可以看到内容。界面难实现,如果完善找不到控件的话。可以考虑重载List,或者干脆自己完全重写,从CWnd派生好了
    PS:如果实现这样的控件,可能的话可以发布出来,给大家都方便方便。