找回密码
 立即注册

QQ登录

只需一步,快速开始

suifei

初级会员

2

主题

6

帖子

402

积分

初级会员

积分
402

活字格认证

最新发帖
suifei
初级会员   /  发表于:2014-10-16 19:58  /   查看:6427  /  回复:9
折叠的子区域有没有事件,比如 check 的 CellChecked 事件

本帖子中包含更多资源

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

x

9 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-10-17 10:07:00
沙发
回复 1楼suifei的帖子

请问你是指C1FlexGrid里的数据树么?
C1FlexGrid有CellChecked事件。
另外,附上C1FlexGrid中文在线文档地址:http://www.gcpowertools.com.cn/docs/ComponentOne/FlexGrid/
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
suifei
初级会员   /  发表于:2014-10-17 21:36:00
板凳
我是想做级联显示,父表 是有CellChecked事件,子表怎么获取值呢?还有子表check 的时候有什么事件处理
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-10-20 09:33:00
地板
回复 3楼suifei的帖子

请问下你是如何进行级联显示的,能否给出代码?不知道和我所说的数据树的自定义分层的数据绑定是否一致。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
suifei
初级会员   /  发表于:2014-10-20 12:40:00
5#
DataSet ds = new DataSet();

            #region 头
            string strSql = @" select distinct top 10 cNo 生产周计划单号,h.ddate 生产周计划日期,cus.cCusName 客户名称,d.cSOCode 客户订单号,cFree1 色号,
                                                      convert(nvarchar(10),so.dDate,120) as 下单日期,d.cMemo 表头备注
                                                 from jn_moweekplan  h
                                                     left join dbo.jn_moweekplans d on d.id = h.id
                                                      left join dbo.Inventory inv on inv.cInvCode = d.cinvcode
                                                      left join dbo.Customer cus on cus.cCusCode = d.ccuscode
                                                      left join dbo.SO_SOMain so on so.cSOCode=d.cSOCode
                                                      left join dbo.UserDefine usd on usd.cValue=cFree3
                                                where isnull(cAuditor,'')!='' and isnull(d.cinvcode,'')!=''  ";
            if (StrHeadSql != "") strSql = StrHeadSql;


            //父GridView的数据
            SqlConnection con = new SqlConnection(strConn);
            SqlDataAdapter adapt = new SqlDataAdapter(strSql + this.StrLoadWhere, con);
            adapt.Fill(ds, "main");
            ds.Tables["main"].Columns.Add("选择", System.Type.GetType("System.Boolean")).SetOrdinal(0);

            #endregion

            #region 子
            //子GridView的数据
            strSql = @"  select  distinct cInvStd 型材规格,cFree2 包装形式,cFree3 工艺要求,cFree1 色号,
                                      cDefine34 支数,cFree4 长度,d.cMemo 表头备注,dPreDate 订单交期,isnull(pftheqty,0) 排放支数,cNo 生产周计划单号,cus.cCusName 客户名称,d.cSOCode 客户订单号
                                 from jn_moweekplan  h
                                     left join dbo.jn_moweekplans d on d.id = h.id
                                      left join dbo.Inventory inv on inv.cInvCode = d.cinvcode
                                      left join dbo.Customer cus on cus.cCusCode = d.ccuscode
                                      left join dbo.SO_SOMain so on so.cSOCode=d.cSOCode
                                      left join dbo.UserDefine usd on usd.cValue=cFree3
                                where isnull(cAuditor,'')!='' and isnull(d.cinvcode,'')!=''  ";

            if (strHeadOneSql != "") strSql = strHeadOneSql;


            adapt = new SqlDataAdapter(strSql + this.StrLoadWhere, con);

            adapt.Fill(ds, "son");
            ds.Tables["son"].Columns.Add("选择", System.Type.GetType("System.Boolean")).SetOrdinal(0);
            #endregion


            //这个是显示主从表的关键,一、GridControl通过检查DataSet.Relations的内容来分析数据
            //二、关键名必须与设计GridView的层级关系的level name相同,否则,结果在意料之外。
            DataColumn[] dr = new DataColumn[] { ds.Tables["main"].Columns["生产周计划单号"], ds.Tables["main"].Columns["客户名称"],
                                                 ds.Tables["main"].Columns["客户订单号"], ds.Tables["main"].Columns["色号"] };
            
            DataColumn[] drs = new DataColumn[] { ds.Tables["son"].Columns["生产周计划单号"], ds.Tables["son"].Columns["客户名称"],
                                                  ds.Tables["son"].Columns["客户订单号"], ds.Tables["son"].Columns["色号"] };


            DataRelation relation = new DataRelation("明细", dr, drs, false);

            ds.Relations.Add(relation);
            
            //这也是一个关键,不能直接设为:ds,必须指明到表。
            GridView.DataSource = ds.Tables["main"];
这个做一个绑定,第一列会有一个 checkbox ,我选择 父行的时候,同时子表行也选中。选择子表行的时候要触发其他事件,这个不知道怎么获取 ,下面是父的 CellChecked,子表不知道怎么写
  private void GridView_CellChecked(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
        {
            //MessageBox.Show(GridView.Rows[GridView.RowSel][2].ToString() + GridView.Rows[GridView.RowSel]["色号"].ToString());

            C1FlexDataTree child = GridView.Rows[GridView.RowSel].UserData as C1FlexDataTree;
            
            //MessageBox.Show(child.Rows[1]["型材规格"].ToString() + child.Rows[1]["色号"].ToString());
            if (child == null)
            {
                //if (GridView.Rows[GridView.RowSel]["选择"].ToString() == "True")
                //    GridView.Rows[GridView.RowSel]["选择"] = "True";
                //else
                //    GridView.Rows[GridView.RowSel]["选择"] = "";
                return;
            }
            if (GridView.Rows[GridView.RowSel]["选择"].ToString() == "True")
            {
                for (int i = 1; i < child.Rows.Count; i++)
                {
                    child.Rows["选择"] = "True";
                }
            }
            else
            {
                for (int i = 1; i < child.Rows.Count; i++)
                {
                    child.Rows["选择"] = "False";
                }
            }
        }
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-10-20 15:42:00
6#
回复 5楼suifei的帖子

我看这里你使用了 C1FlexDataTree child = GridView.Rows[GridView.RowSel].UserData as C1FlexDataTree;
C1FlexDataTree下也有CellChecked的事件,你可以挂这个事件获取。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
suifei
初级会员   /  发表于:2014-10-20 16:03:00
7#
C1FlexDataTree 动态加载的,自己写事件处理吗
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-10-20 18:30:00
8#
回复 7楼suifei的帖子

当你动态加载C1FlexDataTree的时候,不能调用这个事件么?

评分

参与人数 1满意度 +5 收起 理由
szld + 5 谢谢

查看全部评分

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

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
szld
论坛元老   /  发表于:2015-6-6 18:47:00
9#
谢谢,需求实现了
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-6-8 09:12:00
10#
回复 9楼szld的帖子

好的。
谢谢你的反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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