| | |
| | | { |
| | | var rowhandle = gridView1.FocusedRowHandle; |
| | | var dr = gridView1.GetDataRow(rowhandle); |
| | | var userGuid = dr["guid"].ToString(); |
| | | var frm = new RoleSelectAction(userGuid); |
| | | var roleGuid = dr["guid"].ToString(); |
| | | var frm = new RoleSelectAction(roleGuid); |
| | | frm.ShowDialog(); |
| | | } |
| | | } |
| | |
| | | JsonConvert.SerializeObject(_obj)); |
| | | var _rtn = UtilityHelper.ReturnToDynamic(strJson); |
| | | MsgHelper.Warning("æç¤ºï¼" + _rtn.rtnData.outMsg); |
| | | if (_rtn.rtnCode > 0) |
| | | this.Close(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions2 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions(); |
| | | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(User)); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject5 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject6 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions3 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject9 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject10 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject11 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject12 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions4 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions(); |
| | | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(User)); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject13 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject14 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject15 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject16 = new DevExpress.Utils.SerializableAppearanceObject(); |
| | | this.isLocked = new DevExpress.XtraGrid.Columns.GridColumn(); |
| | | this.toolBarMenu1 = new Gs.DevApp.UserControl.UcToolBarMenu(); |
| | | this.gcMain = new DevExpress.XtraGrid.GridControl(); |
| | |
| | | this.gridColumn3 = new DevExpress.XtraGrid.Columns.GridColumn(); |
| | | this.colRole = new DevExpress.XtraGrid.Columns.GridColumn(); |
| | | this.repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit(); |
| | | this.gridColumn4 = new DevExpress.XtraGrid.Columns.GridColumn(); |
| | | this.repositoryItemButtonEdit3 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit(); |
| | | this.gridColumn5 = new DevExpress.XtraGrid.Columns.GridColumn(); |
| | | this.repositoryItemButtonEdit4 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit(); |
| | | this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn(); |
| | | this.repositoryItemButtonEdit2 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit(); |
| | | this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl(); |
| | |
| | | ((System.ComponentModel.ISupportInitialize)(this.gcMain)).BeginInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).BeginInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit3)).BeginInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit4)).BeginInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit2)).BeginInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit(); |
| | | this.xtraTabControl1.SuspendLayout(); |
| | |
| | | this.gcMain.Name = "gcMain"; |
| | | this.gcMain.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { |
| | | this.repositoryItemButtonEdit1, |
| | | this.repositoryItemButtonEdit2}); |
| | | this.repositoryItemButtonEdit2, |
| | | this.repositoryItemButtonEdit3, |
| | | this.repositoryItemButtonEdit4}); |
| | | this.gcMain.Size = new System.Drawing.Size(1002, 531); |
| | | this.gcMain.TabIndex = 1; |
| | | this.gcMain.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { |
| | |
| | | this.loginCounter, |
| | | this.gridColumn3, |
| | | this.colRole, |
| | | this.gridColumn4, |
| | | this.gridColumn5, |
| | | this.gridColumn1}); |
| | | gridFormatRule1.Column = this.isLocked; |
| | | gridFormatRule1.Name = "Format0"; |
| | |
| | | // |
| | | // colRole |
| | | // |
| | | this.colRole.Caption = "è§è²è®¾ç½®"; |
| | | this.colRole.Caption = "åé
è§è²"; |
| | | this.colRole.ColumnEdit = this.repositoryItemButtonEdit1; |
| | | this.colRole.MinWidth = 25; |
| | | this.colRole.Name = "colRole"; |
| | |
| | | serializableAppearanceObject1.Font = new System.Drawing.Font("Tahoma", 10F); |
| | | serializableAppearanceObject1.Options.UseFont = true; |
| | | this.repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { |
| | | new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "设置è§è²", -1, true, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)}); |
| | | new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "è§è²æé", -1, true, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)}); |
| | | this.repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1"; |
| | | this.repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; |
| | | this.repositoryItemButtonEdit1.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit1_ButtonClick); |
| | | // |
| | | // gridColumn4 |
| | | // |
| | | this.gridColumn4.Caption = "个人æé"; |
| | | this.gridColumn4.ColumnEdit = this.repositoryItemButtonEdit3; |
| | | this.gridColumn4.MinWidth = 25; |
| | | this.gridColumn4.Name = "gridColumn4"; |
| | | this.gridColumn4.Visible = true; |
| | | this.gridColumn4.VisibleIndex = 10; |
| | | this.gridColumn4.Width = 94; |
| | | // |
| | | // repositoryItemButtonEdit3 |
| | | // |
| | | this.repositoryItemButtonEdit3.AutoHeight = false; |
| | | editorButtonImageOptions2.Image = global::Gs.DevApp.Properties.Resources.bodetails_16x16; |
| | | editorButtonImageOptions2.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter; |
| | | this.repositoryItemButtonEdit3.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { |
| | | new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "个人æé", -1, true, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)}); |
| | | this.repositoryItemButtonEdit3.Name = "repositoryItemButtonEdit3"; |
| | | this.repositoryItemButtonEdit3.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; |
| | | this.repositoryItemButtonEdit3.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit3_ButtonClick); |
| | | // |
| | | // gridColumn5 |
| | | // |
| | | this.gridColumn5.Caption = "æééå"; |
| | | this.gridColumn5.ColumnEdit = this.repositoryItemButtonEdit4; |
| | | this.gridColumn5.MinWidth = 25; |
| | | this.gridColumn5.Name = "gridColumn5"; |
| | | this.gridColumn5.Visible = true; |
| | | this.gridColumn5.VisibleIndex = 11; |
| | | this.gridColumn5.Width = 94; |
| | | // |
| | | // repositoryItemButtonEdit4 |
| | | // |
| | | this.repositoryItemButtonEdit4.AutoHeight = false; |
| | | editorButtonImageOptions3.Image = global::Gs.DevApp.Properties.Resources.show_16x162; |
| | | editorButtonImageOptions3.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter; |
| | | this.repositoryItemButtonEdit4.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { |
| | | new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "æ¥ç", -1, true, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)}); |
| | | this.repositoryItemButtonEdit4.Name = "repositoryItemButtonEdit4"; |
| | | this.repositoryItemButtonEdit4.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; |
| | | this.repositoryItemButtonEdit4.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit4_ButtonClick); |
| | | // |
| | | // gridColumn1 |
| | | // |
| | |
| | | this.gridColumn1.OptionsFilter.AllowFilter = false; |
| | | this.gridColumn1.ShowButtonMode = DevExpress.XtraGrid.Views.Base.ShowButtonModeEnum.ShowAlways; |
| | | this.gridColumn1.Visible = true; |
| | | this.gridColumn1.VisibleIndex = 10; |
| | | this.gridColumn1.VisibleIndex = 12; |
| | | this.gridColumn1.Width = 94; |
| | | // |
| | | // repositoryItemButtonEdit2 |
| | | // |
| | | this.repositoryItemButtonEdit2.AutoHeight = false; |
| | | editorButtonImageOptions2.Image = ((System.Drawing.Image)(resources.GetObject("editorButtonImageOptions2.Image"))); |
| | | editorButtonImageOptions2.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter; |
| | | editorButtonImageOptions4.Image = ((System.Drawing.Image)(resources.GetObject("editorButtonImageOptions4.Image"))); |
| | | editorButtonImageOptions4.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter; |
| | | this.repositoryItemButtonEdit2.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { |
| | | new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "éç½®å¯ç ", -1, true, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)}); |
| | | new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "éç½®å¯ç ", -1, true, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)}); |
| | | this.repositoryItemButtonEdit2.Name = "repositoryItemButtonEdit2"; |
| | | this.repositoryItemButtonEdit2.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; |
| | | this.repositoryItemButtonEdit2.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit2_ButtonClick); |
| | |
| | | ((System.ComponentModel.ISupportInitialize)(this.gcMain)).EndInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).EndInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit3)).EndInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit4)).EndInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit2)).EndInit(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit(); |
| | | this.xtraTabControl1.ResumeLayout(false); |
| | |
| | | private UserControl.UcLookStaff txt_staffId; |
| | | private DevExpress.XtraGrid.Columns.GridColumn gridColumn3; |
| | | private DevExpress.XtraEditors.CheckEdit txt_isStatus; |
| | | private DevExpress.XtraGrid.Columns.GridColumn gridColumn4; |
| | | private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit3; |
| | | private DevExpress.XtraGrid.Columns.GridColumn gridColumn5; |
| | | private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit4; |
| | | } |
| | | } |
| | |
| | | MsgHelper.Warning("æç¤ºï¼" + ex.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è§è² |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void repositoryItemButtonEdit1_ButtonClick(object sender, |
| | | ButtonPressedEventArgs e) |
| | | { |
| | |
| | | frm.ShowDialog(); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¯ç |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void repositoryItemButtonEdit2_ButtonClick(object sender, |
| | | ButtonPressedEventArgs e) |
| | | { |
| | |
| | | frm.ShowDialog(); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 个人æé |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void repositoryItemButtonEdit3_ButtonClick(object sender, ButtonPressedEventArgs e) |
| | | { |
| | | if (e.Button.Index == 0) |
| | | { |
| | | var rowhandle = gridView1.FocusedRowHandle; |
| | | var dr = gridView1.GetDataRow(rowhandle); |
| | | var userGuid = dr["guid"].ToString(); |
| | | var frm = new RoleSelectAction(userGuid); |
| | | frm.ShowDialog(); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æééå |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void repositoryItemButtonEdit4_ButtonClick(object sender, ButtonPressedEventArgs e) |
| | | { |
| | | if (e.Button.Index == 0) |
| | | { |
| | | var rowhandle = gridView1.FocusedRowHandle; |
| | | var dr = gridView1.GetDataRow(rowhandle); |
| | | var userGuid = dr["guid"].ToString(); |
| | | var frm = new ViewRole(userGuid); |
| | | frm.ShowDialog(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
| | | </resheader> |
| | | <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> |
| | | <data name="editorButtonImageOptions2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
| | | <data name="editorButtonImageOptions4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
| | | <value> |
| | | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACp0RVh0VGl0 |
| | | bGUAQ29udGFjdDtDYXJkO0luZm87RGV0YWlsO1BlcnNvbjtFZGl04bGTWAAAAtlJREFUOE+Nk1lIVFEA |
| | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ¥çç¨æ·çæééå |
| | | /// </summary> |
| | | /// <param name="userGuid"></param> |
| | | private void GetTree(string userGuid) |
| | | { |
| | | trv.Nodes.Clear(); |
| | |
| | | var dd = UtilityHelper.ReturnToTablePage(strReturn); |
| | | var dt = dd.rtnData.list; |
| | | var drGrp = dt.Select("upGuid='' or upGuid is null"); |
| | | |
| | | // 使ç¨DefaultView.Sort对çéåçç»æè¿è¡æåº |
| | | DataTable sortedTable = drGrp.CopyToDataTable(); |
| | | sortedTable.DefaultView.Sort = "idx ASC"; |
| | | DataTable result = sortedTable.DefaultView.ToTable(); |
| | | var _gou = "â "; |
| | | foreach (var _dy in drGrp) |
| | | foreach (DataRow _dy in result.Rows) |
| | | { |
| | | var node = new TreeNode(); //å®ä¹ç»ç¹ |
| | | node.Text = (_dy["isCk"].ToString() == "1" ? _gou : "") + |
¶Ô±ÈÐÂÎļþ |
| | |
| | | namespace Gs.DevApp.DevFrm.User |
| | | { |
| | | partial class ViewRole |
| | | { |
| | | /// <summary> |
| | | /// Required designer variable. |
| | | /// </summary> |
| | | private System.ComponentModel.IContainer components = null; |
| | | |
| | | /// <summary> |
| | | /// Clean up any resources being used. |
| | | /// </summary> |
| | | /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> |
| | | protected override void Dispose(bool disposing) |
| | | { |
| | | if (disposing && (components != null)) |
| | | { |
| | | components.Dispose(); |
| | | } |
| | | base.Dispose(disposing); |
| | | } |
| | | |
| | | #region Windows Form Designer generated code |
| | | |
| | | /// <summary> |
| | | /// Required method for Designer support - do not modify |
| | | /// the contents of this method with the code editor. |
| | | /// </summary> |
| | | private void InitializeComponent() |
| | | { |
| | | this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl(); |
| | | this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage(); |
| | | this.trv = new System.Windows.Forms.TreeView(); |
| | | ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit(); |
| | | this.xtraTabControl1.SuspendLayout(); |
| | | this.xtraTabPage2.SuspendLayout(); |
| | | this.SuspendLayout(); |
| | | // |
| | | // xtraTabControl1 |
| | | // |
| | | this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill; |
| | | this.xtraTabControl1.Location = new System.Drawing.Point(0, 0); |
| | | this.xtraTabControl1.Name = "xtraTabControl1"; |
| | | this.xtraTabControl1.Padding = new System.Windows.Forms.Padding(10); |
| | | this.xtraTabControl1.SelectedTabPage = this.xtraTabPage2; |
| | | this.xtraTabControl1.Size = new System.Drawing.Size(342, 458); |
| | | this.xtraTabControl1.TabIndex = 2; |
| | | this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { |
| | | this.xtraTabPage2}); |
| | | // |
| | | // xtraTabPage2 |
| | | // |
| | | this.xtraTabPage2.Controls.Add(this.trv); |
| | | this.xtraTabPage2.Name = "xtraTabPage2"; |
| | | this.xtraTabPage2.Size = new System.Drawing.Size(340, 426); |
| | | this.xtraTabPage2.Text = "æ¥çè¯¥ç¨æ·çæééå"; |
| | | // |
| | | // trv |
| | | // |
| | | this.trv.Dock = System.Windows.Forms.DockStyle.Fill; |
| | | this.trv.Font = new System.Drawing.Font("Tahoma", 10F); |
| | | this.trv.Location = new System.Drawing.Point(0, 0); |
| | | this.trv.Name = "trv"; |
| | | this.trv.Size = new System.Drawing.Size(340, 426); |
| | | this.trv.TabIndex = 3; |
| | | // |
| | | // ViewRole |
| | | // |
| | | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F); |
| | | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
| | | this.ClientSize = new System.Drawing.Size(342, 458); |
| | | this.Controls.Add(this.xtraTabControl1); |
| | | this.IconOptions.Image = global::Gs.DevApp.Properties.Resources.logo_png_black; |
| | | this.MaximizeBox = false; |
| | | this.MinimizeBox = false; |
| | | this.Name = "ViewRole"; |
| | | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; |
| | | this.Text = "æééå"; |
| | | this.TopMost = true; |
| | | ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit(); |
| | | this.xtraTabControl1.ResumeLayout(false); |
| | | this.xtraTabPage2.ResumeLayout(false); |
| | | this.ResumeLayout(false); |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | private DevExpress.XtraTab.XtraTabControl xtraTabControl1; |
| | | private DevExpress.XtraTab.XtraTabPage xtraTabPage2; |
| | | private System.Windows.Forms.TreeView trv; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using DevExpress.XtraEditors; |
| | | using Gs.DevApp.Properties; |
| | | using Gs.DevApp.ToolBox; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Data; |
| | | using System.Drawing; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | |
| | | namespace Gs.DevApp.DevFrm.User |
| | | { |
| | | public partial class ViewRole : DevExpress.XtraEditors.XtraForm |
| | | { |
| | | |
| | | private readonly string _userGuid; |
| | | |
| | | public ViewRole(string userGuid) |
| | | { |
| | | InitializeComponent(); |
| | | _userGuid = userGuid; |
| | | |
| | | GetTree(_userGuid); |
| | | } |
| | | /// <summary> |
| | | /// æ¥çç¨æ·çæééå |
| | | /// </summary> |
| | | /// <param name="userGuid"></param> |
| | | private void GetTree(string userGuid) |
| | | { |
| | | trv.Nodes.Clear(); |
| | | var imageList = new ImageList(); |
| | | imageList.Images.Add("icon0", Resources.addfooter_32x32); |
| | | imageList.Images.Add("icon1", Resources.listmultilevel_16x16); |
| | | imageList.Images.Add("icon2", Resources.addcalculatedfield_16x16); |
| | | // trv.ImageList = imageList; |
| | | var _obj = new |
| | | { |
| | | userGuid |
| | | }; |
| | | var strReturn = ""; |
| | | try |
| | | { |
| | | strReturn = UtilityHelper.HttpPost("", "Role/GetUserMenuAction", |
| | | JsonConvert.SerializeObject(_obj)); |
| | | var dd = UtilityHelper.ReturnToTablePage(strReturn); |
| | | var dt = dd.rtnData.list; |
| | | var drGrp = dt.Select("upGuid='' or upGuid is null"); |
| | | |
| | | // 使ç¨DefaultView.Sort对çéåçç»æè¿è¡æåº |
| | | DataTable sortedTable = drGrp.CopyToDataTable(); |
| | | sortedTable.DefaultView.Sort = "idx ASC"; |
| | | DataTable result = sortedTable.DefaultView.ToTable(); |
| | | var _gou = "â "; |
| | | foreach (DataRow _dy in result.Rows) |
| | | { |
| | | var node = new TreeNode(); //å®ä¹ç»ç¹ |
| | | node.Text = (_dy["isCk"].ToString() == "1" ? _gou : "") + |
| | | _dy["name"]; //为ç»ç¹èµå¼ |
| | | node.Name = _dy["guid"].ToString(); |
| | | node.ImageIndex = 0; |
| | | node.Checked = _dy["isCk"].ToString() == "1" ? true : false; |
| | | var drItem = dt.Select("upGuid='" + _dy["guid"] + "'"); |
| | | foreach (var _dy2 in drItem) |
| | | { |
| | | var node22 = new TreeNode(); //å®ä¹ç»ç¹ |
| | | node22.Text = |
| | | (_dy2["isCk"].ToString() == "1" ? _gou : "") + |
| | | _dy2["name"]; //为ç»ç¹èµå¼ |
| | | node22.Name = _dy2["guid"].ToString(); |
| | | node22.ImageIndex = 1; |
| | | node22.Checked = _dy2["isCk"].ToString() == "1" ? true : false; |
| | | var drItem33 = dt.Select("upGuid='" + _dy2["guid"] + "'"); |
| | | foreach (var _dy3 in drItem33) |
| | | { |
| | | var node33 = new TreeNode(); //å®ä¹ç»ç¹ |
| | | node33.Text = |
| | | (_dy3["isCk"].ToString() == "1" ? _gou : "") + |
| | | _dy3["name"]; //为ç»ç¹èµå¼ |
| | | node33.Name = _dy3["guid"].ToString(); |
| | | node33.ImageIndex = 2; |
| | | node33.Checked = _dy3["isCk"].ToString() == "1" ? true : false; |
| | | node22.Nodes.Add(node33); |
| | | } |
| | | node22.Collapse(); |
| | | node.Nodes.Add(node22); |
| | | } |
| | | node.Expand(); |
| | | trv.Nodes.Add(node); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.Warning("æç¤ºï¼" + ex.Message); |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <root> |
| | | <!-- |
| | | Microsoft ResX Schema |
| | | |
| | | Version 2.0 |
| | | |
| | | The primary goals of this format is to allow a simple XML format |
| | | that is mostly human readable. The generation and parsing of the |
| | | various data types are done through the TypeConverter classes |
| | | associated with the data types. |
| | | |
| | | Example: |
| | | |
| | | ... ado.net/XML headers & schema ... |
| | | <resheader name="resmimetype">text/microsoft-resx</resheader> |
| | | <resheader name="version">2.0</resheader> |
| | | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
| | | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
| | | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
| | | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
| | | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
| | | <value>[base64 mime encoded serialized .NET Framework object]</value> |
| | | </data> |
| | | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
| | | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
| | | <comment>This is a comment</comment> |
| | | </data> |
| | | |
| | | There are any number of "resheader" rows that contain simple |
| | | name/value pairs. |
| | | |
| | | Each data row contains a name, and value. The row also contains a |
| | | type or mimetype. Type corresponds to a .NET class that support |
| | | text/value conversion through the TypeConverter architecture. |
| | | Classes that don't support this are serialized and stored with the |
| | | mimetype set. |
| | | |
| | | The mimetype is used for serialized objects, and tells the |
| | | ResXResourceReader how to depersist the object. This is currently not |
| | | extensible. For a given mimetype the value must be set accordingly: |
| | | |
| | | Note - application/x-microsoft.net.object.binary.base64 is the format |
| | | that the ResXResourceWriter will generate, however the reader can |
| | | read any of the formats listed below. |
| | | |
| | | mimetype: application/x-microsoft.net.object.binary.base64 |
| | | value : The object must be serialized with |
| | | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
| | | : and then encoded with base64 encoding. |
| | | |
| | | mimetype: application/x-microsoft.net.object.soap.base64 |
| | | value : The object must be serialized with |
| | | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
| | | : and then encoded with base64 encoding. |
| | | |
| | | mimetype: application/x-microsoft.net.object.bytearray.base64 |
| | | value : The object must be serialized into a byte array |
| | | : using a System.ComponentModel.TypeConverter |
| | | : and then encoded with base64 encoding. |
| | | --> |
| | | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
| | | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
| | | <xsd:element name="root" msdata:IsDataSet="true"> |
| | | <xsd:complexType> |
| | | <xsd:choice maxOccurs="unbounded"> |
| | | <xsd:element name="metadata"> |
| | | <xsd:complexType> |
| | | <xsd:sequence> |
| | | <xsd:element name="value" type="xsd:string" minOccurs="0" /> |
| | | </xsd:sequence> |
| | | <xsd:attribute name="name" use="required" type="xsd:string" /> |
| | | <xsd:attribute name="type" type="xsd:string" /> |
| | | <xsd:attribute name="mimetype" type="xsd:string" /> |
| | | <xsd:attribute ref="xml:space" /> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | <xsd:element name="assembly"> |
| | | <xsd:complexType> |
| | | <xsd:attribute name="alias" type="xsd:string" /> |
| | | <xsd:attribute name="name" type="xsd:string" /> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | <xsd:element name="data"> |
| | | <xsd:complexType> |
| | | <xsd:sequence> |
| | | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
| | | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
| | | </xsd:sequence> |
| | | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
| | | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
| | | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
| | | <xsd:attribute ref="xml:space" /> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | <xsd:element name="resheader"> |
| | | <xsd:complexType> |
| | | <xsd:sequence> |
| | | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
| | | </xsd:sequence> |
| | | <xsd:attribute name="name" type="xsd:string" use="required" /> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | </xsd:choice> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | </xsd:schema> |
| | | <resheader name="resmimetype"> |
| | | <value>text/microsoft-resx</value> |
| | | </resheader> |
| | | <resheader name="version"> |
| | | <value>2.0</value> |
| | | </resheader> |
| | | <resheader name="reader"> |
| | | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
| | | </resheader> |
| | | <resheader name="writer"> |
| | | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
| | | </resheader> |
| | | </root> |
| | |
| | | <Compile Include="DevFrm\Sales\Frm_SalesReturnNoticeDj.Designer.cs"> |
| | | <DependentUpon>Frm_SalesReturnNoticeDj.cs</DependentUpon> |
| | | </Compile> |
| | | <Compile Include="DevFrm\User\ViewRole.cs"> |
| | | <SubType>Form</SubType> |
| | | </Compile> |
| | | <Compile Include="DevFrm\User\ViewRole.Designer.cs"> |
| | | <DependentUpon>ViewRole.cs</DependentUpon> |
| | | </Compile> |
| | | <Compile Include="DevFrm\Warehouse\Frm_MesShouTui.cs"> |
| | | <SubType>Form</SubType> |
| | | </Compile> |
| | |
| | | <EmbeddedResource Include="DevFrm\Sales\Frm_SalesReturnNotice.resx"> |
| | | <DependentUpon>Frm_SalesReturnNotice.cs</DependentUpon> |
| | | </EmbeddedResource> |
| | | <EmbeddedResource Include="DevFrm\User\ViewRole.resx"> |
| | | <DependentUpon>ViewRole.cs</DependentUpon> |
| | | </EmbeddedResource> |
| | | <EmbeddedResource Include="DevFrm\Warehouse\Frm_MesShouTui.resx"> |
| | | <DependentUpon>Frm_MesShouTui.cs</DependentUpon> |
| | | </EmbeddedResource> |
| | |
| | | <None Include="Resources\edit_16x16.png" /> |
| | | <None Include="Resources\meeting_32x321.png" /> |
| | | <None Include="Resources\meeting_16x16.png" /> |
| | | <None Include="Resources\bodetails_16x16.png" /> |
| | | <None Include="Resources\show_16x162.png" /> |
| | | <Content Include="Resources\user_16x16.png" /> |
| | | </ItemGroup> |
| | | <ItemGroup /> |
| | |
| | | /// <summary> |
| | | /// æ¥æ¾ System.Drawing.Bitmap ç±»åçæ¬å°åèµæºã |
| | | /// </summary> |
| | | internal static System.Drawing.Bitmap bodetails_16x16 { |
| | | get { |
| | | object obj = ResourceManager.GetObject("bodetails_16x16", resourceCulture); |
| | | return ((System.Drawing.Bitmap)(obj)); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¾ System.Drawing.Bitmap ç±»åçæ¬å°åèµæºã |
| | | /// </summary> |
| | | internal static System.Drawing.Bitmap boposition2_16x16 { |
| | | get { |
| | | object obj = ResourceManager.GetObject("boposition2_16x16", resourceCulture); |
| | |
| | | /// <summary> |
| | | /// æ¥æ¾ System.Drawing.Bitmap ç±»åçæ¬å°åèµæºã |
| | | /// </summary> |
| | | internal static System.Drawing.Bitmap show_16x162 { |
| | | get { |
| | | object obj = ResourceManager.GetObject("show_16x162", resourceCulture); |
| | | return ((System.Drawing.Bitmap)(obj)); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¾ System.Drawing.Bitmap ç±»åçæ¬å°åèµæºã |
| | | /// </summary> |
| | | internal static System.Drawing.Bitmap show_32x32 { |
| | | get { |
| | | object obj = ResourceManager.GetObject("show_32x32", resourceCulture); |
| | |
| | | <data name="lookup&reference_16x162" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\lookup&reference_16x162.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="meeting_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\meeting_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="sortbyinvoice_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\sortbyinvoice_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | |
| | | <value>..\Resources\3dcolumn_16x16.png;System.Drawing.Bitmap, |
| | | System.Drawing, Version=4.0.0.0, Culture=neutral, |
| | | PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="alignverticalleft" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\alignverticalleft.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> |
| | | </data> |
| | | <data name="download_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\download_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | |
| | | <data name="clearformatting_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\clearformatting_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="deletetablecells_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\deletetablecells_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="close_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\close_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | |
| | | <data name="printlayoutview_16x161" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\printlayoutview_16x161.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="deletetablecells_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\deletetablecells_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | <data name="task_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\task_16x16.png;System.Drawing.Bitmap, |
| | | System.Drawing, Version=4.0.0.0, Culture=neutral, |
| | | PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="showworktimeonly_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\showworktimeonly_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | |
| | | <data name="wordwrap_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\wordwrap_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="task_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\task_16x16.png;System.Drawing.Bitmap, |
| | | System.Drawing, Version=4.0.0.0, Culture=neutral, |
| | | PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | <data name="bodetails_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\bodetails_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="trackingchanges_next_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\trackingchanges_next_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | |
| | | <value>..\Resources\login_bg6.png;System.Drawing.Bitmap, System.Drawing, |
| | | Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="encryptdocument_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\encryptdocument_32x321.png;System.Drawing.Bitmap, |
| | | System.Drawing, Version=4.0.0.0, Culture=neutral, |
| | | PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="checkbox2_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\checkbox2_32x321.png;System.Drawing.Bitmap, |
| | | System.Drawing, Version=4.0.0.0, Culture=neutral, |
| | |
| | | <data name="boposition2_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\boposition2_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="encryptdocument_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\encryptdocument_32x321.png;System.Drawing.Bitmap, |
| | | System.Drawing, Version=4.0.0.0, Culture=neutral, |
| | | PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | <data name="alignverticalleft" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\alignverticalleft.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> |
| | | </data> |
| | | <data name="renamedatasource_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\renamedatasource_32x32.png;System.Drawing.Bitmap, |
| | | System.Drawing, Version=4.0.0.0, Culture=neutral, |
| | | PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | <data name="meeting_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\meeting_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | <data name="show_16x162" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\show_16x162.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
| | | </data> |
| | | </root> |