例如我要固定datagrid控件的一、二列,这样当datagrid控件拖动水平滚条时,第一、二始终看得到,
要怎么做啊?
谢谢!!!

解决方案 »

  1.   

    这个我还没做过,你可以看看tablestyle可不可以设置
    帮你顶一下
      

  2.   

    楼主,直接拉个UltraGrid来用吧,功能超强。
      

  3.   

    UltraGrid功能确定很强,可以冻结行列,我们现在做的一电信项目客房点名要能冻结列的网格,只有用它了,不过,缺点是占用资源太多
      

  4.   

    索性把UltraWinGrid的常用操作列在这2、设置某列为参照按钮...
    进入start/Band and Column Settings/Band[0]/Columns,选中某列设置列style为EditButton即可
    同样可以设置下拉、日期
    4、设置固定列
    首先设置
    网格属属/DisplayLayout/设置UseFixedHeaders为true如果要在设计时就设计某列固定
    进入start/Band and Column Settings/Band[0]/Columns,选中某列设置列Header/设置Fixed为true
    也可以直接在标题的固定图格上切换
    5、列不可编辑
    进入start/Band and Column Settings/Band[0]/Columns,选中某列设置CellActivation为NoEdit
    6、获取网格选择的行
    int count  = detailGrid.Selected.Rows.Count;
    for (int i=0; i<count; i++)
    {
    detailGrid.Selected.Rows[0].Delete(false);
    }7、清空网格的行
    int count  = detailGrid.Rows.Count;
    for (int i=0; i<count; i++)
    {
    detailGrid.Rows[0].Delete(false);
    }8、选中整行
       grid.display.Override.activerowsapplearance.backcolor = ..;10、网格列宽
      p_DetailGrid.DisplayLayout.Bands[0].Columns[sFields].Width = iWidth;11、网格列标题
      p_DetailGrid.DisplayLayout.Bands[0].Columns[sFields].Header.Caption = sTitle;12、网格列隐藏
        p_DetailGrid.DisplayLayout.Bands[0].Columns[sFields].Hidden = true;
      

  5.   

    UltraGrid 还是不错,只要功能强就 OK
      

  6.   

    呵呵,如果单纯是控制列宽的话,俺是在dataGrid的OnPaint方法中指定的列宽
      

  7.   

    vs2005中可以设置的。使用DataGridView