找回密码
 立即注册

QQ登录

只需一步,快速开始

lingee

初级会员

30

主题

100

帖子

298

积分

初级会员

积分
298
lingee
初级会员   /  发表于:2024-3-14 15:43  /   查看:420  /  回复:1
.NET6的环境,C1.Win.FlexGrid.Ja(ver6.0.20232.611)
虽然是日文版的,估计中文版现象是一样的,想请教下如何实现。

示例代码在附件中,求教:
1. 如何让合计行(Subtotal0和Subtotal1),合并在一个cell中,想要的效果是,中间没有列的边框线,鼠标选中时是整行高亮(数据行还是保持cell选中)
    *我试了MergedRanges但没效果
2. 对某一列(e列)单独定义了样式,希望合计行还是保持合计行的样式,不要被列样式影响。

本帖子中包含更多资源

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

x

1 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-14 18:18:21
沙发
本帖最后由 Richard.Ma 于 2024-3-14 18:33 编辑

分组行比较特殊,因为有自己特有的行为逻辑,所以不支持merge

至于想要给非分组行设置样式,你可以尝试使用OwnerDrawCell事件,但是目前实际上也没有什么好的办法区分普通单元格和分组单元格

  1. private void Grid_OwnerDrawCell(object sender, OwnerDrawCellEventArgs e)
  2.         {
  3.             if (e.Col == 5)
  4.             {

  5.                 if (grid.Rows[e.Row].DataSource is DataRowView)
  6.                 {
  7.                     e.Style.BackColor = Color.Green;
  8.                 }
  9.                 else
  10.                 {
  11.                     if (grid.GetCellStyleDisplay(e.Row,1).BackColor==Color.Red)
  12.                         e.Style.BackColor = Color.Red;
  13.                     else
  14.                         e.Style.BackColor = Color.PeachPuff;
  15.                 }
  16.             }
  17.         }
复制代码



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部