在vsflexgrid8.0中,我使用ADO进行了rs的数据集绑定,其中某列,想实现数据字典功能,即显示的是中文名称(从字典表中翻译),而其实是英文代码(字符型),并且用户可以进行编辑,编辑时为中文的下拉列表框,而用户选择的名称存入数据库中该表的代码列中,另外,是否可以选择多列?例:
1:select userid,bookname,... from t1;
2:select userid,userName from tuser;另外,数据库中有些没有字典,但有约定成俗的代码和名称对照,如A:数据库类
B:计算机类,表中存入的是A,我希望显示数据库类,用户修改出现下拉列表框,数据库类|计算机类,如果用户选择了计算机类,则存入数据库中直接写B我现在存入数据库,直接用绑定,setDataMode(1),不想从vsflexgrid一列列取出,再用SQL语句修改。
最好有VC++的代码示例

解决方案 »

  1.   

    vb用该控件的较多,希望能够提供方法和思路.请您提供VB源码吧
      

  2.   

    你的意思大概就是有多列的下拉列表吧?这个可以做到的。可我手上没VB也没这个控件的帮助文件。只能告诉你在哪里可以找到例子。就在这个控件的帮助文件里,你查找combo字样,可以看到多列的方法。
      

  3.   

    不是这个意思.我的意思是字典翻译功能,显示和更改的是名称,而用户更改的结果其实是数据库的代码.注意,是关联子表的字典功能,也就是,主表里是代码,子表里是代码和名称的对应值.该功能类似PB里的DataWindow
      

  4.   

    不就是多列显示如下嘛:
    数据库类|计算机类|B
    其中B列隐藏不给用户看不就ok了?
      

  5.   

    我说的是一条SQL语句,从数据库中取出,显示时直接关联字典表,修改后用setDataMode(1)直接写入主表即可(从名称翻译成代码)。象大虾所云,是不是其它列先显示出来,该列空出,写另外的SQL语句,再从第一行至最后一行填满。而最后写库时还要一行行的另行处理,实际上就无法用其本身的setDataMode(1)方式,必须按行和列修改数据库对应的行列数据,对吗?