开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 1928|回复: 3

求求助:GridControl自动生成序号列,如何自动匹配列宽度?

[复制链接]

0

精华

0

贡献

214

赞扬

帖子
22
软币
451
在线时间
41 小时
注册时间
2020-7-25
发表于 2021-10-17 09:28:17 | 显示全部楼层 |阅读模式
求助:GridControl自动生成序号列(Indicator列),如何自动匹配列宽度?
通过gridView的CustomDraw中的CustomDrawRowIndicator事件,加入
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
           {
                e.Info.DisplayText =(e.RowHandle + 1).ToString();
           }
代码后,生出自动生成序号列(Indicator列),如下图。这个序号列自适应列宽度。


无标题.png
回复

使用道具 举报

0

精华

5089

贡献

5261

赞扬

管理员

帖子
1149
软币
20937
在线时间
4312 小时
注册时间
2013-6-7

黄马甲

发表于 2021-10-17 10:18:18 | 显示全部楼层
使用IndicatorWidth属性来设定指示列的宽度,这个宽度应该通过表格里显示的最大的行数来设置。

评分

参与人数 1赞扬 +1 收起 理由
zqs0001 + 1 赞一个

查看全部评分

回复

使用道具 举报

0

精华

0

贡献

214

赞扬

帖子
22
软币
451
在线时间
41 小时
注册时间
2020-7-25
 楼主| 发表于 2021-10-17 18:01:30 | 显示全部楼层
不设置indicatorwidth属性,gridcontrol能否自动匹配这个宽度,有这样的功能吗?
回复

使用道具 举报

0

精华

0

贡献

160

赞扬

帖子
19
软币
444
在线时间
32 小时
注册时间
2019-5-23
发表于 2021-12-8 15:20:11 | 显示全部楼层
我之前写的代码段,供参考
[C#] 纯文本查看 复制代码
void OrderGridView_RowCountChanged(object sender, EventArgs e)
        {
            DevExpress.XtraGrid.Views.Grid.GridView gv = sender as DevExpress.XtraGrid.Views.Grid.GridView;
            if (gv == null)
                return;
            if (gv.RowCount <= 0)
            {
                gv.IndicatorWidth = -1;
            }
            else
            {
                gv.IndicatorWidth = 25 + Convert.ToInt32(Math.Floor(Math.Log(gv.RowCount, 10)) + 1) * 5;
            }
        }

评分

参与人数 1赞扬 +1 收起 理由
zqs0001 + 1

查看全部评分

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-4-26 06:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表