///
<summary>
/// 执行数据显示
/// </summary>
public void showTree()
{
image1 = Resources.home.ToBitmap();
image2 = Resources.department.ToBitmap();
image3 = Resources.users.ToBitmap();
imageList.Images.Add(image1);
imageList.Images.Add(image2);
imageList.Images.Add(image3);
if (treeDataSupportImpl == null )
{
treeDataSupportImpl = (ITreeDataSupport)AppUtils.getObject( " treeDataSupportImpl " );
}
// 获取数据
IList treeDataList = treeDataSupportImpl.GetTreeData( false , false );
IList empOrPosList = new List < IDictionary > ();
if (isLoadEmployee || isLoadPosition)
{
empOrPosList = treeDataSupportImpl.GetTreeData(isLoadEmployee, isLoadPosition);
}
log.Debug(treeDataList.Count);
if (treeDataList.Count > 0 && treeDataList != null )
{
// 转换为DataTable
this .converListToDataTable(treeDataList);
// 调用数据展现方法
log.Debug( " 开始创建、、、 " );
this .createTree( 0 ,(TreeNode) null );
// 如果有数,则加载
if (empOrPosList.Count > 0 && empOrPosList != null )
{
this .addTree(empOrPosList);
}
}
}
/// <summary>
/// 添加员工或职称到树
/// </summary>
/// <param name="list"></param>
public void addTree(IList list)
{
foreach (IDictionary empOrPos in list)
{
TreeNode newNode = new TreeNode();
newNode.Name = empOrPos[ " ORG_ID " ].ToString();
newNode.Text = empOrPos[ " ORG_NAME " ].ToString();
newNode.ImageIndex = 2 ;
newNode.SelectedImageIndex = 2 ;
TreeNode node = myTreeView.Nodes.Find(empOrPos[ " SUPER_ORG_ID " ].ToString(), true )[ 0 ];
node.Nodes.Add(newNode);
}
}
/// <summary>
/// 创建树
/// </summary>
/// <param name="ParentID"></param>
/// <param name="pNode"></param>
public void createTree( int ParentID,TreeNode pNode)
{
DataView dvTree = new DataView(treeData);
dvTree.RowFilter = " [SUPER_ORG_ID] = " + ParentID;
foreach (DataRowView Row in dvTree)
{
if (pNode == null )
{
log.Debug( " 根节点: " + Row[ " ORG_NAME " ].ToString());
// 添加根节点
myTreeView.ImageList = imageList;
TreeNode node = myTreeView.Nodes.Add(Row[ " ORG_NAME " ].ToString());
node.Name = Row[ " ORG_ID " ].ToString();
node.ImageIndex = 0 ;
node.SelectedImageIndex = 0 ;
// 递归
createTree(Int32.Parse(Row[ " ORG_ID " ].ToString()),node);
}
else
{
log.Debug( " 节点: " + Row[ " ORG_NAME " ].ToString());
// 添加当前节点
TreeNode node = pNode.Nodes.Add(Row[ " ORG_NAME " ].ToString());
node.Name = Row[ " ORG_ID " ].ToString();
if (Row[ " ORG_TYPE_ID " ].ToString().Equals( " 2 " ) || Row[ " ORG_TYPE_ID " ].ToString().Equals( " 3 " ))
{
node.ImageIndex = 1 ;
node.SelectedImageIndex = 1 ;
}
else
{
node.ImageIndex = 2 ;
node.SelectedImageIndex = 2 ;
}
// 再次递归
createTree(Int32.Parse(Row[ " ORG_ID " ].ToString()),node);
}
}
}
/// <summary>
/// 转换函数
/// </summary>
/// <param name="list"></param>
public void converListToDataTable(IList list)
{
DataColumn dataColumn = treeData.Columns.Add( " ORG_ID " , typeof (Int32));
dataColumn.AllowDBNull = false ;
treeData.Columns.Add( " ORG_NAME " , typeof (String));
treeData.Columns.Add( " SUPER_ORG_ID " , typeof (Int32));
treeData.Columns.Add( " ORG_TYPE_ID " , typeof (Int32));
foreach (IDictionary dict in list)
{
DataRow row = treeData.NewRow();
row[ " ORG_ID " ] = dict[ " ORG_ID " ];
row[ " ORG_NAME " ] = dict[ " ORG_NAME " ];
row[ " SUPER_ORG_ID " ] = dict[ " SUPER_ORG_ID " ];
row[ " ORG_TYPE_ID " ] = dict[ " ORG_TYPE_ID " ];
treeData.Rows.Add(row);
}
/*
foreach (DataRow row in treeData.Rows)
{
log.Debug(row["ORG_ID"].ToString() + " | " + row["ORG_NAME"].ToString() + " | " + row["SUPER_ORG_ID"].ToString() + " | " + row["ORG_TYPE_ID"].ToString());
}
* */
}
/// 执行数据显示
/// </summary>
public void showTree()
{
image1 = Resources.home.ToBitmap();
image2 = Resources.department.ToBitmap();
image3 = Resources.users.ToBitmap();
imageList.Images.Add(image1);
imageList.Images.Add(image2);
imageList.Images.Add(image3);
if (treeDataSupportImpl == null )
{
treeDataSupportImpl = (ITreeDataSupport)AppUtils.getObject( " treeDataSupportImpl " );
}
// 获取数据
IList treeDataList = treeDataSupportImpl.GetTreeData( false , false );
IList empOrPosList = new List < IDictionary > ();
if (isLoadEmployee || isLoadPosition)
{
empOrPosList = treeDataSupportImpl.GetTreeData(isLoadEmployee, isLoadPosition);
}
log.Debug(treeDataList.Count);
if (treeDataList.Count > 0 && treeDataList != null )
{
// 转换为DataTable
this .converListToDataTable(treeDataList);
// 调用数据展现方法
log.Debug( " 开始创建、、、 " );
this .createTree( 0 ,(TreeNode) null );
// 如果有数,则加载
if (empOrPosList.Count > 0 && empOrPosList != null )
{
this .addTree(empOrPosList);
}
}
}
/// <summary>
/// 添加员工或职称到树
/// </summary>
/// <param name="list"></param>
public void addTree(IList list)
{
foreach (IDictionary empOrPos in list)
{
TreeNode newNode = new TreeNode();
newNode.Name = empOrPos[ " ORG_ID " ].ToString();
newNode.Text = empOrPos[ " ORG_NAME " ].ToString();
newNode.ImageIndex = 2 ;
newNode.SelectedImageIndex = 2 ;
TreeNode node = myTreeView.Nodes.Find(empOrPos[ " SUPER_ORG_ID " ].ToString(), true )[ 0 ];
node.Nodes.Add(newNode);
}
}
/// <summary>
/// 创建树
/// </summary>
/// <param name="ParentID"></param>
/// <param name="pNode"></param>
public void createTree( int ParentID,TreeNode pNode)
{
DataView dvTree = new DataView(treeData);
dvTree.RowFilter = " [SUPER_ORG_ID] = " + ParentID;
foreach (DataRowView Row in dvTree)
{
if (pNode == null )
{
log.Debug( " 根节点: " + Row[ " ORG_NAME " ].ToString());
// 添加根节点
myTreeView.ImageList = imageList;
TreeNode node = myTreeView.Nodes.Add(Row[ " ORG_NAME " ].ToString());
node.Name = Row[ " ORG_ID " ].ToString();
node.ImageIndex = 0 ;
node.SelectedImageIndex = 0 ;
// 递归
createTree(Int32.Parse(Row[ " ORG_ID " ].ToString()),node);
}
else
{
log.Debug( " 节点: " + Row[ " ORG_NAME " ].ToString());
// 添加当前节点
TreeNode node = pNode.Nodes.Add(Row[ " ORG_NAME " ].ToString());
node.Name = Row[ " ORG_ID " ].ToString();
if (Row[ " ORG_TYPE_ID " ].ToString().Equals( " 2 " ) || Row[ " ORG_TYPE_ID " ].ToString().Equals( " 3 " ))
{
node.ImageIndex = 1 ;
node.SelectedImageIndex = 1 ;
}
else
{
node.ImageIndex = 2 ;
node.SelectedImageIndex = 2 ;
}
// 再次递归
createTree(Int32.Parse(Row[ " ORG_ID " ].ToString()),node);
}
}
}
/// <summary>
/// 转换函数
/// </summary>
/// <param name="list"></param>
public void converListToDataTable(IList list)
{
DataColumn dataColumn = treeData.Columns.Add( " ORG_ID " , typeof (Int32));
dataColumn.AllowDBNull = false ;
treeData.Columns.Add( " ORG_NAME " , typeof (String));
treeData.Columns.Add( " SUPER_ORG_ID " , typeof (Int32));
treeData.Columns.Add( " ORG_TYPE_ID " , typeof (Int32));
foreach (IDictionary dict in list)
{
DataRow row = treeData.NewRow();
row[ " ORG_ID " ] = dict[ " ORG_ID " ];
row[ " ORG_NAME " ] = dict[ " ORG_NAME " ];
row[ " SUPER_ORG_ID " ] = dict[ " SUPER_ORG_ID " ];
row[ " ORG_TYPE_ID " ] = dict[ " ORG_TYPE_ID " ];
treeData.Rows.Add(row);
}
/*
foreach (DataRow row in treeData.Rows)
{
log.Debug(row["ORG_ID"].ToString() + " | " + row["ORG_NAME"].ToString() + " | " + row["SUPER_ORG_ID"].ToString() + " | " + row["ORG_TYPE_ID"].ToString());
}
* */
}