以下是dxdbgrid,,请大家帮忙,,想实现的功能是,,当列三有值时,,点击当前行的列一会弹出另一个窗口,,在新窗口的页面中输入值后关闭,,新窗口里所有输入值的汇总值返回到列一当前行的单元格里,,
而当列三没有值时,,点击列一不弹出窗口,,直接往列一的单元格里输入数字,,以上这些要如何实现呢??

解决方案 »

  1.   

    要实现这个功能大虾们有更细一些的思路吗??我有想把列一变成Popupcolumn或ExLookupcolumn,,但是点击箭头下拉时,,却出错,,弹出框在窗口的后面,,看不到或只看到一部分,,这要怎么解决呢??
      

  2.   

    是可以实现的啊,不过你说的dxdbgrid我是没有我用delphi自带的DBGrid 在DBGrid1CellClick(Column: TColumn)事件中就可以捕捉到点击列的操作Column有Index,就可以知道是第几列的了行就更不用说了,直接就是数据集的当前记录
      

  3.   

    dxDBGrid好像没有CellClick事件,,那还有什么事件能响应这个操作吗??
      

  4.   

    dxdbgrd1ColumnClick(Sender: TObject;
      Column: TdxDBTreeListColumn);
      

  5.   

    请问大虾们,,判断响应的代码怎么写呢??我写的不能响应,,应该怎么写呢??procedure TForm1.dxDBGrid1ColumnClick(Sender: TObject;
      Column: TdxDBTreeListColumn);
    begin
       if  (ADOQuery1.FieldByName('列三').Value<>'')  and (Column.Field.FieldName ='列一')
       then
           begin
                showmessage('abc');
           end;
    end;
      

  6.   


    这个事件实际上已经经告诉了grid响应的Column,用Column.Caption='列一'或者Column=Grid.Columns[0],这样试试
      

  7.   


    procedure TForm1.dxDBGrid1ColumnClick(Sender: TObject;
      Column: TdxDBTreeListColumn);
    begin
       if  (ADOQuery1.FieldByName('列三').Value<>'')  and (Column=dxDBGrid1.column[0])
       then
           begin
                showmessage('abc');
           end;
    end;这样的结果是点击列的CAPTION时,,会弹出窗口,,可是我要的效果是点击这列下面的具体的哪行的单元格的,,还有什么办法吗??