提问两个与cxgrid相关的问题:
1、如何根据ini文件来显示列的顺序、宽度等。
2、如何让cxgrid实现类似Excle冻结窗口的功能,让靠做的若干列不随水平滚动条滚动。

解决方案 »

  1.   

    从ini文件中读出并设置
    cxGrid1DBTableView1.RestoreFromIniFile('***.ini', false);
    将设置保存到ini文件
    cxGrid1DBTableView1.StoreToIniFile('***.ini', false);
      

  2.   

    To dulei115()
    多谢多谢!可是第一个问题请帮忙研究一下,如果能过解决,我再加100分
      

  3.   

    To ihihonline(重归起跑线(寻找支点)):
    有没有更好的,用点功力帮忙想想。我见过别人的成品,不过已经编译了,没法看原码,用的应该是DBGrid,差不多吧。
      

  4.   

    建一个banded table 类型的view然后,你自己在试试,然后在每个bands后面的columns中建你的字段,其实bands就是一个分组,不同的分组彼此是独立的,就可以实现不同滚动条控制不同的bands了
      

  5.   

    我想可一写事件把,当水平滚动条向左移动这个事件触发后将(若干列+1)列的visable置为False后面的以次类推(要设置值记录被False的column的个数,大概就象链表的插入和删除操作吧)
    楼主你试试吧! 我也是根据你的情况乱想的,不知道能不能帮你! 呵呵!!
      

  6.   

    还没出来,继续关注!
    /////////////////////
    ihihonline(重归起跑线(寻找支点))的方法应该还形
    /////////////////////
    昨天看了一下cXGrid自带的Demos,没发现有此功能
      

  7.   

    cxgrid中可以有这个功能,大家可以看看他的Demos,打开\\demos\Grid4Demos2.bpg,直接运行就可以,就能看到实现效果,也可以看到怎么做的
      

  8.   

    To zhlwjy(百合跑):
    帮忙看一下好吗?如果能解决我再加100分
      

  9.   

    根据zhlwjy(百合跑)说的Decom试出来了,
    delete DB Table
    改用DB Banded Table
    双击跳出对话框,选中Band设置Options -->Moving属性
      

  10.   

    漏了一点:
    还有Band的FixedKind属性
      

  11.   

    可不可以在程序中移动column到band中,代码怎样写?dulei1150(),suny_2001,多指教,另外去此处留个名(http://expert.csdn.net/Expert/topic/2448/2448506.xml?temp=.1723902),在下有分数敬上。还有一个问题,在DB Banded Table中可以把column叠加,如何禁止这项功能,请指教。
      

  12.   

    TO dulei1150(),suny_2001
    对不起忘了该贴以结,去这里吧http://expert.csdn.net/Expert/topic/2504/2504214.xml?temp=.7647211
      

  13.   

    可不可以在程序中移动column到band中,代码怎样写?
    ////////////////////////////////////////////
    cxGrid1DBBandedTableView1DBBandedColumn1.Position.BandIndex := 0;
    ///////////////////////////////////////////////////
    在DB Banded Table中可以把column叠加,如何禁止这项功能
    //////////////////////////////////////////
    怎么叠加,不太明白
      

  14.   

    TO dulei1150(),suny_2001
    再帮忙解决一下,如何得到当前列是第几列,本来我使用visibleindex的,可是列移动后visibleindex就不是列的顺序号了,拜托,帮忙找一下
      

  15.   

    不知道楼主要干什么,用下面的试试
    cxGrid1DBTableView1DBColumn1.ID
    /////////////////////////////
    如果不行就这样:
    var 
      i; integer;i := cxGrid1DBTableView1DBColumn1.//这个时候会弹出合适的属性列,看字面上的意思,一个个试
      

  16.   

    to dulei115() 
    我的目的是,首先在cxGrid1DBTableView1上确定那一列,然后将该列左边的所有列加入到一个band中,id,visibleindex再重新对列排序后,就不对了,帮忙再试一下。多谢!
      

  17.   

    能不能告诉我在cxgrid中,移动列的顺序时触发的是OnColumnPosChanged事件
    ID,index号一直不会变,始终是设计时的顺序号
    visibleindex记录显示的顺序号,随着用户的拖动而改变,应该有一个可以满足你的要求的,楼主是不是有些地方弄错了
      

  18.   

    visibleindex在拖动后好像也不变,帮忙在试试,我也会再试试,有结果贴出来。
      

  19.   

    以上问题已解决,但是出现了一个新问题,比如,在一个form上有一个button和一个cxgrid,如何实现单击按钮,让最后列移动到最前,各位高手,多帮忙。我会同时发短消息给各位。多谢。
      

  20.   

    cxGrid1DBTableView1.VisibleColumns[cxGrid1DBTableView1.VisibleColumnCount -1].Index := 0;
      

  21.   

    cxGrid好复杂呀,属性方法多得要死,正在潜心研究
      

  22.   

    各位
      谁有兴趣开一个关于cxgrid的讨论区,大家共同学习。这东西真tmd复杂。
      

  23.   

    各位
      谁有兴趣开一个关于cxgrid的讨论区,大家共同学习。这东西真tmd复杂。强烈支持