利用GTL组件显示TreeView和DataGrid功能

今天利用GTL组件,一个表显示父子结构,一个表显示相关父和子的数据,虽然有TreeView的功能,但是在利用checkbox属性时碰到了问题,响应事件只有true,但是怎么区分是显示父呢,显示子呢,而且多阶的父子结构怎么显示?

后来经和别人讨论,GTLTreeNode有个fullpath属性,可以把父子结构的阶层很好的记录下来,这样同if就可以判断了


private void TreeList1_AfterCheck(object source, GlacialComponents.Controls.GlacialTreeList.GTLEventArgs args)
{
SCMX_CLASS.ScmxCheck sc=new ScmxCheck();
if(args.TreeNode.Checked==true)
{

String[] s=args.TreeNode.FullPath.Split('');
if(s.Length==2)
{
sc.字段参数("编码类型",args.TreeNode.Text);
DataSet dt=(DataSet)sc.Select(SCMX_CLASS.ScmxCheck.选择.材料编码类型);

foreach(DataRowView r in dt.Tables["材料编码"].DefaultView)
{
GTLTreeNode n=new GTLTreeNode(args.TreeNode.Text);
initsubnode(n);
n.SubItems[int.Parse(CIndex["编码"].ToString())].Text=r["编码"].ToString().Trim();
n.SubItems[int.Parse(CIndex["名称"].ToString())].Text=r["名称"].ToString().Trim();
n.SubItems[int.Parse(CIndex["组件代号"].ToString())].Text=r["组件代号"].ToString().Trim();
n.SubItems[int.Parse(CIndex["材料规格"].ToString())].Text=r["材料规格"].ToString().Trim();
n.SubItems[int.Parse(CIndex["简化标注"].ToString())].Text=r["简化标注"].ToString().Trim();
n.SubItems[int.Parse(CIndex["是否只读"].ToString())].Text=r["是否只读"].ToString().Trim();

n.Tag=r["编码"].ToString();
args.TreeNode.Nodes.Add(n);
}
dt.Tables["材料编码"].Clear();
}
if(s.Length==4)
{
sc.字段参数("编码类型",args.TreeNode.Parent.Parent.Text);
sc.字段参数("大类",args.TreeNode.Parent.Text);
sc.字段参数("小类",args.TreeNode.Text);
DataSet dt=(DataSet)sc.Select(SCMX_CLASS.ScmxCheck.选择.材料编码类型大类小类);

foreach(DataRowView r in dt.Tables["材料编码"].DefaultView)
{
GTLTreeNode n=new GTLTreeNode(args.TreeNode.Text);
initsubnode(n);
n.SubItems[int.Parse(CIndex["编码"].ToString())].Text=r["编码"].ToString().Trim();
n.SubItems[int.Parse(CIndex["名称"].ToString())].Text=r["名称"].ToString().Trim();
n.SubItems[int.Parse(CIndex["组件代号"].ToString())].Text=r["组件代号"].ToString().Trim();
n.SubItems[int.Parse(CIndex["材料规格"].ToString())].Text=r["材料规格"].ToString().Trim();
n.SubItems[int.Parse(CIndex["简化标注"].ToString())].Text=r["简化标注"].ToString().Trim();
n.SubItems[int.Parse(CIndex["是否只读"].ToString())].Text=r["是否只读"].ToString().Trim();

n.Tag=r["编码"].ToString();
args.TreeNode.Nodes.Add(n);
}
dt.Tables["材料编码"].Clear();
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8382469/viewspace-259852/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8382469/viewspace-259852/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值