一定要在绑定数据集的模式下,要实现Excel中单元格计算的功能(当然有一定的规律性)。
例如,第2行第2列已有值50,现在第1行第2列输入100,想在第3行同列计算出: 150(即同列第1行+第2行的值),有很多这样的列。要求:不能用移动数据集指针的方法。因为表格中数据量很大的情况下,操作时反应会很迟钝。请教各位有没有好的方法实现

解决方案 »

  1.   

    其实表格只是显示数据,必须从表格所关联的数据集作手。
    重写数据集的方法
    procedure DataEvent(Event: TDataEvent; Info: Longint); override;
    可以实现您想要的效果.
      

  2.   

    用计算列就可以了, 这与cxGrid与关
      

  3.   

    如果是想象excel那样灵活的话,感觉cxGrid没有这个功能的不过通过数据集也很简单的,写grid关联的datasource的datachange事件就可以
      

  4.   


    请教累世问题 代码如下
    目的是循环View(tvPsMst) 后更改一个字段的值
    tvPsMst显示是更改了 单数据集却没有更改 想问的问题是 如何跟数据集同步呢??
    谢谢
    int count;
      TcxCustomGridRow *Arow;
      count = tvPsMst->DataController->RowCount;
      ShowMessage(IntToStr(count));
      
      //tvMst->DataController->DataModeController->SyncMode = true;
      //用了这句也不行 
      for (int i=0;i<count;i++)
      {
         Arow =  tvPsMst->ViewData->Rows[i];     if (Arow->IsData)
         {
          Arow->Values[1] = "12345";//改第一列的值
        }
    }
    我的 QQ70335561 加我注明 cxgrid 回复 谢谢拉