111,106
社区成员




private List<string> lstCheckedKeyID = new List<string>();//选择局ID集合
/// <summary>
/// 获取选择状态的数据主键ID集合
/// </summary>
/// <param name="parentNode">父级节点</param>
private void GetCheckedKeyID(TreeListNode parentNode)
{
if (parentNode.Nodes.Count == 0)
{
return;//递归终止
}
foreach (TreeListNode node in parentNode.Nodes)
{
if (node.CheckState == CheckState.Checked)
{
DataRowView drv = treeList1.GetDataRecordByNode(node) as DataRowView;//关键代码,就是不知道是这样获取数据而纠结了很久(鬼知道可以转换为DataRowView啊)
if (drv != null)
{
string KeyFieldName = (string)drv["KeyFieldName"];
lstCheckedKeyID.Add(KeyFieldName);
}
}
GetCheckedKeyID(node);
}
}
/// <summary>
/// 获取选中的节点
/// </summary>
/// <param name="tree"></param>
private void findOrigin(DevExpress.XtraTreeList.TreeList tree)
{
this.lstCheckedKeyID.Clear();
if (tree.Nodes.Count > 0)
{
foreach (TreeListNode root in tree.Nodes)
{
GetCheckedKeyID(root);
}
}
}
/// <summary>
/// 获取选择状态的数据主键ID集合
/// </summary>
/// <param name="parentNode">父级节点</param>
private void GetCheckedKeyID(TreeListNode parentNode)
{
if (parentNode.Nodes.Count == 0)
{
return;//递归终止
}
if(parentNode.CheckState!=CheckState.Unchecked)
{
DataRowView drv = treeList1.GetDataRecordByNode(parentNode) as DataRowView;
if (drv != null)
{
string KeyFieldName = (string)drv["KeyFieldName"];
if (!lstCheckedKeyID.Contains(KeyFieldName))
{
lstCheckedKeyID.Add(KeyFieldName);
}
}
}
foreach (TreeListNode node in parentNode.Nodes)
{
if (node.CheckState != CheckState.Unchecked)
{
DataRowView drv = treeList1.GetDataRecordByNode(node) as DataRowView;//关键代码,就是不知道是这样获取数据而纠结了很久(鬼知道可以转换为DataRowView啊)
if (drv != null)
{
string KeyFieldName = (string)drv["KeyFieldName"];
lstCheckedKeyID.Add(KeyFieldName);
}
}
GetCheckedKeyID(node);
}
}