今天利用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/