找回密码
 立即注册

QQ登录

只需一步,快速开始

q406157290

高级会员

124

主题

531

帖子

1359

积分

高级会员

积分
1359

活字格认证

q406157290
高级会员   /  发表于:2015-2-26 17:01  /   查看:9885  /  回复:10
C1FlexGrid
如何在后台控制同行中的 某些单元格可编辑 某些单元格不可编辑在后台控制
表头都是在后台动态生成的

10 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-2-26 18:47:00
沙发
回复 1楼q406157290的帖子

Column和Row下都有IsReadOnly属性可以设置行和列的只读。
若是针对某个单元格,可以使用CellFactory类。
如下是CellFactory接口:
public interface ICellFactory
{
  FrameworkElement CreateCell(
    C1FlexGrid grid,
    CellType cellType,
    CellRange range);

  FrameworkElement CreateCellEditor(
    C1FlexGrid grid,
    CellType cellType,
    CellRange range)

  void DisposeCell(
    C1FlexGrid grid,
    CellType cellType,
    FrameworkElement cell);
}

具体使用可以参考产品文档。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-2-26 19:11:00
板凳
回复 2楼Alice的帖子

每一行最前面都有一个button   当点击button后 这行的某些单元格才可编辑某些才不可编辑
如果用CellFactory的话 在初期的时候就调用了  好像实现不了我的功能呢  还是我不太懂
CellFactory 我只用过一次画表格斜线  时间有点久了有点忘了  请赐教  谢谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-2-27 09:52:00
地板
回复 3楼q406157290的帖子

你在这个帖子里问过类似的问题:
http://gcdn.gcpowertools.com.cn/showtopic-15726.html

请问是不是需求是一致的,只不过将C1DataGrid换成了C1FlexGrid?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-2-27 10:20:00
5#
处理图是这样的
表头信息都是在后台生成的  
所以那些控制可否编辑也要在后台控制

本帖子中包含更多资源

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

x
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-2-27 11:06:00
6#
回复 4楼Alice的帖子

恩是的   那个是在前台页面上写的
可是这次的都是在后台动态的生成的
在后台设定的
我所有表格中的信息都是在后台生成的  不是前台页面创建的
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-2-27 15:13:00
7#
回复 5楼q406157290的帖子

C1FlexGrid有提供BeginningEdit事件。可以尝试在点击某个单元格的时候判断button的状态,若是button是要求不可用的,就cancel不让进入该单元格。
代码参考:
  1. void flex_BeginningEdit(object sender, CellEditEventArgs e)
  2.         {            
  3.             if (buttonstate)
  4.             {
  5.                 if (e.Column == 1 && e.Row == 1)
  6.                 {
  7.                     e.Cancel = true;
  8.                 }
  9.             }
  10.         }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-2-27 18:02:00
8#
回复 7楼Alice的帖子

在isReadOnly的情况下 还会去掉flex_BeginningEdit这个方法吗  
我现在去试一下  但是我感觉是不会的呢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-2-28 10:05:00
9#
回复 8楼q406157290的帖子

BeginningEdit不是方法,是个事件,在尝试进入单元格的编辑状态时候,会触发该事件。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-3-1 10:01:00
10#
回复 9楼Alice的帖子

只读的情况下是不会去调用这个事件的
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部