找回密码
 立即注册

QQ登录

只需一步,快速开始

CanYou8

银牌会员

67

主题

191

帖子

2047

积分

银牌会员

积分
2047

活字格认证微信认证勋章元老葡萄

CanYou8
银牌会员   /  发表于:2015-9-11 10:49  /   查看:6106  /  回复:5
问题:在C1DataGrid中动态插入列时,如何让插入的列显示到指定的位置?如何设置插入的列的样式?
尝试:如下图,我在动态插入列时,总是显示在最后一列(红框中是动态插入的列,其余几项是原有的列)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-9-11 13:54:00
沙发
回复 1楼CanYou8的帖子

请设置 DataGridTextColumn 的 DisplayIndex 属性进行显示位置指定。

  1.             DataGridTextColumn dc = new DataGridTextColumn();
  2.             grid.Columns.Insert(1, dc);
  3.             dc.DisplayIndex = 1;
复制代码

评分

参与人数 1满意度 +5 收起 理由
CanYou8 + 5 此方案完美解决了列排序问题

查看全部评分

回复 使用道具 举报
CanYou8
银牌会员   /  发表于:2015-9-11 14:44:00
板凳
  我在“grid.Columns.Insert(1, dc); ”之前设置DisplayIndex报错,按您的方式放在后面就可以了。

请问,如果我想将此动态列设为红色,可以实现吗?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-9-14 09:30:00
地板
回复 3楼CanYou8的帖子

可以通过LoadedCellPresenter事件实现。
假设动态添加的列名是"newColumn",那么改成红色的代码如下:
  1.         void grid_LoadedCellPresenter(object sender, DataGridCellEventArgs e)
  2.         {
  3.             if (e.Cell.Column.Name=="newColumn")
  4.             {
  5.                 e.Cell.Presenter.Background = Brushes.Red;
  6.             }
  7.         }
复制代码

评分

参与人数 1满意度 +5 收起 理由
CanYou8 + 5 问题已解决,非常感谢

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou8
银牌会员   /  发表于:2015-9-14 11:50:00
5#
  问题已解决,非常感谢!!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-9-14 13:50:00
6#
回复 5楼CanYou8的帖子

不用客气。
此问题关闭,如果有新问题请开新帖。
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢        
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部