#region treeView
private void ShowTreeView()
{
treeView_Sel2.Nodes.Clear();
AddTree();
treeView_Sel2.ExpandAll();
}
public void AddTree()
{
IFindInfo infoCom = new FindInfoBase();
infoCom.FindText = "所属角色组";
infoCom.ScopeName = ScopeName.查询状态.ToString();
_findInfos.ResetInfo(infoCom);
roleGroupTable = dbWorker.FindItem<DaCamsUserBase.QX_RoleGroupDataTable>(_findInfos);
DataView dvTree = new DataView(roleGroupTable);
dvTree.RowFilter = "RoleGroup_PID =0 ";
foreach (DataRowView Rowp in dvTree)
{
TreeNode NodeP = new TreeNode();
//添加当前节点的子节点
NodeP.Name = Rowp["RoleGroup_ID"].ToString();
NodeP.Text = Rowp["RoleGroupDesc"].ToString();
treeView_Sel2.Nodes.Add(NodeP);
dvTree.RowFilter = "RoleGroup_PID =" + Rowp["RoleGroup_ID"];
AddTreeChi(NodeP, dvTree);
}
}
public void AddTreeChi(TreeNode NodeP, DataView dvTree)
{
foreach (DataRowView Rowc in dvTree)
{
TreeNode Nodec = new TreeNode();
//添加当前节点的子节点
NodeP.Name = Rowc["RoleGroup_ID"].ToString();
NodeP.Tag = Rowc["RoleGroup_ID"].ToString();
Nodec.Text = Rowc["RoleGroupDesc"].ToString();
NodeP.Nodes.Add(Nodec);
dvTree.RowFilter = "RoleGroup_PID =" + Rowc["RoleGroup_ID"];
AddTreeChi(Nodec, dvTree);
}
}
private void BuildPopupMenu_Tree()
{
#region
ContextMenuStrip menuStrip_Edition = new ContextMenuStrip();
if (CurrentJobName != JobNameEnum.产品资料查看.ToString())
{
//Item:新增行
ToolStripMenuItem menuItemNewRow = new System.Windows.Forms.ToolStripMenuItem();
menuItemNewRow.Text = "新增行";
menuItemNewRow.Click += new EventHandler(TreeListAddNew);
menuStrip_Edition.Items.Add(menuItemNewRow);
//Item:删除行
ToolStripMenuItem menuItemDelRow = new System.Windows.Forms.ToolStripMenuItem();
menuItemDelRow.Text = "删除行";
menuItemDelRow.Click += new EventHandler(TreeListDeleteRow);
menuStrip_Edition.Items.Add(menuItemDelRow);
}
treeView_Sel2.ContextMenuStrip = menuStrip_Edition;
#endregion
}
// 通过Click事件,新增行
private void TreeListAddNew(object sender, EventArgs e)
{
try
{
TreeNode node = treeView_Sel2.SelectedNode;
DaCamsUserBase.QX_RoleGroupRow row = roleGroupTable.NewQX_RoleGroupRow();
TreeNode nodec = new TreeNode();
if (node != null)
{
if (node.Parent == null)
{
treeView_Sel2.Nodes.Add(nodec);
}
else
{
node.Nodes.Add(nodec);
}
row["RoleGroup_PID"] = node.Name;
row["RoleGroupDesc"] = nodec.Text;
roleGroupTable.Rows.Add(row);
nodec.BeginEdit();
}
}
catch { }
}
//通过Click事件,删除行
private void TreeListDeleteRow(object sender, EventArgs e)
{
try
{
TreeNode node = treeView_Sel2.SelectedNode;
if (node != null)
{
treeView_Sel2.Nodes.Remove(node);
string sql = "RoleGroupDesc=" +"'"+ node.Text+"'";
DataRow[] row = roleGroupTable.Select(sql);
row[0].Delete();
}
}
catch { }
}
private void treeView_Sel2_AfterSelect(object sender, TreeViewEventArgs e)
{
IFindInfo info = new FindInfoBase();
info.FindText = e.Node.Text.ToString();
info.ScopeName = ScopeName.ENAME.ToString();
_findInfos.ResetInfo(info);
IFindInfo info1 = new FindInfoBase();
info1.FindText = "角色查询2";
info1.ScopeName = ScopeName.查询状态.ToString();
_findInfos.ResetInfo(info1);
DoFind1();
}
private void treeView_Sel2_Leave(object sender, EventArgs e)
{
if (DoRoleGroup())
{
ShowTreeView();
}
}
private void treeView_Sel2_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
e.Node.BeginEdit();
}
string nodeName = "";
private void treeView_Sel2_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
{
nodeName = e.Node.Text;
}
private void treeView_Sel2_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
{
try
{
if (nodeName == null || nodeName == "" || nodeName.Trim().Length == 0)
{
e.Node.Text = e.Label;
string sql = "RoleGroupDesc =''";
DataRow row = getEditRow(sql, e);
row.AcceptChanges();
row.SetAdded();
}
else
{
string sql = "RoleGroupDesc =" + "'" + nodeName + "'";
getEditRow(sql, e);
}
}
catch { }
}
/// <summary>
/// 设置编辑过的row 的值
/// </summary>
/// <param name="sql"></param>
/// <param name="e"></param>
protected DataRow getEditRow(string sql, NodeLabelEditEventArgs e)
{
DataRow[] rows = roleGroupTable.Select(sql);
if (rows != null)
{
rows[0]["RoleGroupDesc"] = e.Label;
}
return rows[0];
}
#endregion