lu
2024-10-25 fe09fca3e77be09fed738a975ff9c5a508c2dd0d
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -9,12 +9,27 @@
using System.Resources;
using System.Drawing;
using Newtonsoft.Json;
using Gs.DevApp.Models;
using Gs.DevApp.Entity;
using System.Windows.Forms;
using static System.Windows.Forms.Control;
using DevExpress.XtraEditors;
using DevExpress.XtraTab;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using Gs.DevApp.UserControl;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using System.Configuration;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using DevExpress.XtraTreeList.Nodes;
using DevExpress.XtraTreeList;
using System.Net.Http;
using System.Threading.Tasks;
using DevExpress.Data.Helpers;
using DevExpress.Utils.About;
using DevExpress.Office.Model;
namespace Gs.DevApp.ToolBox
{
@@ -23,7 +38,26 @@
    /// </summary>
    public class UtilityHelper
    {
        private static string WebApiUrl = System.Configuration.ConfigurationSettings.AppSettings.Get("WebApiUrl").ToString();
        private static string WebApiUrl = ConfigurationManager.AppSettings["WebApiUrl"].ToString();
        public static async Task<string> UploadFileAsync(string filePath)
        {
            using (var httpClient = new HttpClient())
            using (var form = new MultipartFormDataContent())
            {
                httpClient.DefaultRequestHeaders.Add("token", ToolBox.UtilityHelper.GetBasicAuthTicket());
                using (var fs = File.OpenRead(filePath))
                using (var streamContent = new StreamContent(fs))
                {
                    form.Add(streamContent, "file", Path.GetFileName(filePath));
                    var response = await httpClient.PostAsync(WebApiUrl + "Upload/UploadFile", form);
                    string responseString = await response.Content.ReadAsStringAsync();
                    return responseString;
                }
            }
        }
        /// <summary>
        /// httpPost访问服务
@@ -63,6 +97,7 @@
            }
            catch (Exception ex)
            {
                LogHelper.Debug(url, param + ":" + ex.Message);
                throw ex;
            }
            finally
@@ -73,6 +108,16 @@
            }
            return responseStr;
        }
        /// <summary>
        /// 默认页大小
        /// </summary>
        /// <returns></returns>
        public static int GetPageSize()
        {
            return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
        }
        /// <summary>
        /// 根据图片名读取资源文件,不带后缀名
        /// </summary>
@@ -81,11 +126,8 @@
        /// <returns></returns>
        public static Image GetImgFromResource(string imageName, int lay)
        {
            // 获取当前程序集
            Assembly assembly = Assembly.GetExecutingAssembly();
            // 创建资源管理器来访问资源
            ResourceManager resourceManager = new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
            // 尝试获取图片资源
            try
            {
                Image image = resourceManager.GetObject(imageName) as Image;
@@ -96,12 +138,30 @@
            }
            catch (Exception ex)
            {
            }
            Image image2 = resourceManager.GetObject(lay == 1 ? "chartsshowlegend_32x32" : "linktoprevious_16x16") as Image;
            return image2;
        }
        /// <summary>
        /// 生成token
        /// 初始化一个表
        /// </summary>
        /// <param name="gc"></param>
        /// <param name="gv"></param>
        public static void SetDefaultTable(GridControl gc, GridView gv)
        {
            DataTable dt = new DataTable();
            foreach (GridColumn col in gv.Columns)
            {
                dt.Columns.Add(col.FieldName, typeof(string));
            }
            gc.BindingContext = new BindingContext();
            gc.DataSource = dt;
            gc.ForceInitialize();
        }
        /// <summary>
        /// 生成访问服务的token
        /// </summary>
        /// <returns></returns>
        public static string GetBasicAuthTicket()
@@ -112,11 +172,11 @@
            return token;
        }
        /// <summary>
        /// 标准json串返回ReturnModel-->table,
        /// 服务返回的json转为ReturnModel-->包含TablePage分页,
        /// </summary>
        /// <param name="strReturn"></param>
        /// <returns></returns>
        public static ReturnModel<PageListModel> GetTableByJson(string strReturn)
        public static ReturnModel<PageListModel> ReturnToTablePage(string strReturn)
        {
            ReturnModel<PageListModel> rto = new ReturnModel<PageListModel>();
            JObject json = JObject.Parse(strReturn);
@@ -137,11 +197,11 @@
            return rto;
        }
        /// <summary>
        /// 标准json串返回ReturnModel->字符串,
        /// 服务返回的json返回ReturnModel,
        /// </summary>
        /// <param name="strReturn"></param>
        /// <returns></returns>
        public static ReturnModel<dynamic> GetDataByJson(string strReturn)
        public static ReturnModel<dynamic> ReturnToDynamic(string strReturn)
        {
            ReturnModel<dynamic> rto = new ReturnModel<dynamic>();
            JObject json = JObject.Parse(strReturn);
@@ -152,11 +212,11 @@
        }
        /// <summary>
        /// 标准json串返回ReturnModel-->table,
        /// 服务返回的json串返回ReturnModel-->仅仅有list,不分页,
        /// </summary>
        /// <param name="strReturn"></param>
        /// <returns></returns>
        public static ReturnModel<DataTable> GetNoPageTableByJson(string strReturn)
        public static ReturnModel<DataTable> ReturnToList(string strReturn)
        {
            ReturnModel<DataTable> rto = new ReturnModel<DataTable>();
            JObject json = JObject.Parse(strReturn);
@@ -173,72 +233,168 @@
            rto.rtnData = dt;
            return rto;
        }
        /// <summary>
        /// 读取默认页大小
        /// </summary>
        /// <returns></returns>
        public static int GetPageSize()
        {
            return 50;
            // return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
        }
        /// <summary>
        /// 根据对象批量设置文本值
        /// 根据对象批量设置文本框的值
        /// </summary>
        /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
        /// <param name="dynamicObject">对像</param>
        /// <param name="isEdt">是否可编辑</param>
        public static void SetValueByObj(ControlCollection controls, dynamic dynamicObject, Boolean isEdt)
        /// <param name="gridViews">关联的grid</param>
        public static void SetValueByObj(ControlCollection controls, dynamic dynamicObject, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
        {
            isEdt = !isEdt;
            if (gridViews != null)
            {
                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
                {
                    gv.OptionsBehavior.Editable = !isEdt;
                }
            }
            foreach (JProperty property in dynamicObject.Properties())
            {
                string strName = property.Name;
                string strVal = property.Value.ToString();
                //    // 如果value是一个对象,可以递归遍历
                //    if (property.Value is JObject)
                //    {
                //        JObject nestedObject = (JObject)property.Value;
                //        foreach (JProperty nestedProperty in nestedObject.Properties())
                //        {
                //            Console.WriteLine("\tName: {0}, Value: {1}", nestedProperty.Name, nestedProperty.Value);
                //        }
                //    }
                Control[] cols = controls.Find("txt_" + strName, true);
                if (cols.Length > 0)
                try
                {
                    Control colType = cols[0];
                    //下拉
                    if (colType is ComboBoxEdit)
                    string _dddddd = "txt_" + strName;
                    Control[] cols = controls.Find(_dddddd, true);
                    if (cols.Length > 0)
                    {
                        ComboBoxEdit txt = colType as ComboBoxEdit;
                        if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
                            txt.SelectedIndex = int.Parse(strVal);
                        else
                            txt.Text = strVal;
                        txt.Enabled = isEdt;
                        continue;
                        Control colType = cols[0];
                        if (colType is LookUpEdit)
                        {
                            LookUpEdit txt = colType as LookUpEdit;
                            if (txt != null)
                            {
                                txt.EditValue = strVal;
                            }
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        if (colType is ImageComboBoxEdit)
                        {
                            ImageComboBoxEdit txt = colType as ImageComboBoxEdit;
                            for (int i = 0; i < txt.Properties.Items.Count; i++)
                            {
                                if (txt.Properties.Items[i].Description == strVal)
                                {
                                    txt.ReadOnly = isEdt;
                                    txt.SelectedIndex = i;
                                    continue;
                                };
                            }
                            continue;
                        }
                        if (colType is ComboBoxEdit)
                        {
                            ComboBoxEdit txt = colType as ComboBoxEdit;
                            if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
                                txt.SelectedIndex = int.Parse(strVal);
                            else
                                txt.Text = strVal;
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        //下拉
                        if (colType is ComboBoxEdit)
                        {
                            ComboBoxEdit txt = colType as ComboBoxEdit;
                            if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
                                txt.SelectedIndex = int.Parse(strVal);
                            else
                                txt.Text = strVal;
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        //自定义下拉
                        if (colType is UcComBox)
                        {
                            UcComBox txt = colType as UcComBox;
                            txt.Val = strVal;
                            txt.Enabled = !isEdt;
                            continue;
                        }
                        //文本
                        if (colType is TextEdit)
                        {
                            TextEdit txt = colType as TextEdit;
                            if (txt != null)
                                txt.Text = strVal;
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        //数字卡
                        if (colType is NumericUpDown)
                        {
                            NumericUpDown txt = colType as NumericUpDown;
                            if (txt != null)
                                txt.Text = strVal;
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        //单选
                        if (colType is CheckEdit)
                        {
                            CheckEdit txt = colType as CheckEdit;
                            if (txt != null)
                            {
                                switch (strVal)
                                {
                                    case "True":
                                        txt.Checked = true;
                                        break;
                                    case "1":
                                        txt.Checked = true;
                                        break;
                                    case "False":
                                        txt.Checked = false;
                                        break;
                                    default:
                                        txt.Checked = false;
                                        break;
                                }
                            }
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        //单选
                        if (colType is CheckBox)
                        {
                            CheckBox txt = colType as CheckBox;
                            if (txt != null)
                                txt.Checked = bool.Parse(strVal);
                            txt.Enabled = !isEdt;
                            continue;
                        }
                        //时间
                        if (colType is DateTimePicker)
                        {
                            DateTimePicker txt = colType as DateTimePicker;
                            txt.Text = strVal.ToString();
                            txt.Enabled = !isEdt;
                            continue;
                        }
                        //Label
                        if (colType is Label)
                        {
                            Label txt = colType as Label;
                            if (_dddddd == "txt_checkStatus")
                            {
                                if (strVal.ToString() == "True")
                                    txt.Text = "已审核";
                                if (strVal.ToString() == "False")
                                    txt.Text = "未审核";
                            }
                            else
                                txt.Text = strVal.ToString();
                            continue;
                        }
                    }
                    //文本
                    if (colType is TextEdit)
                    {
                        TextEdit txt = colType as TextEdit;
                        if (txt != null)
                            txt.Text = strVal;
                        txt.Enabled = isEdt;
                        continue;
                    }
                     //数字卡
                    if (colType is NumericUpDown)
                    {
                        NumericUpDown txt = colType as NumericUpDown;
                        if (txt != null)
                            txt.Text = strVal;
                        txt.Enabled = isEdt;
                        continue;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
@@ -248,17 +404,25 @@
        /// </summary>
        /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
        /// <param name="isEdt">是否可编辑</param>
        public static void CleanValue(ControlCollection controls, Boolean isEdt)
        /// <param name="gridViews">关联的grid</param>
        public static void CleanValueByControl(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
        {
            isEdt = !isEdt;
            if (gridViews != null)
            {
                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
                {
                    gv.OptionsBehavior.Editable = !isEdt;
                }
            }
            foreach (Control ctrl in controls)
            {
                ctrl.Enabled = isEdt;
                //多行文本
                if (ctrl is MemoEdit)
                {
                    MemoEdit txt = ctrl as MemoEdit;
                    txt.Text = "";
                    txt.Enabled = isEdt;
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //下拉
@@ -269,13 +433,38 @@
                        txt.SelectedIndex = 0;
                    else
                        txt.Text = "";
                    txt.Enabled = isEdt;
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //自定义的下拉
                if (ctrl is UcComBox)
                {
                    UcComBox txt = ctrl as UcComBox;
                    txt.Val = "0";
                    txt.Enabled = !isEdt;
                    continue;
                }
                //文本
                if (ctrl is TextEdit)
                {
                    ctrl.Text = "";
                    TextEdit txt = ctrl as TextEdit;
                    txt.Text = "";
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //时间
                if (ctrl is DateTimePicker)
                {
                    DateTimePicker txt = ctrl as DateTimePicker;
                    txt.Enabled = !isEdt;
                    continue;
                }
                //单选
                if (ctrl is CheckBox)
                {
                    CheckBox txt = ctrl as CheckBox;
                    txt.Checked = false;
                    txt.Enabled = !isEdt;
                    continue;
                }
            }
@@ -285,24 +474,54 @@
        /// 禁用或启用容器里面的控件
        /// </summary>
        /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
        /// <param name="isEdt">是否可编辑</param>
        public static void ChangeEnable(ControlCollection controls, Boolean isEdt)
        /// <param name="isEdt"></param>
        /// <param name="gridViews"></param>
        public static void ChangeEnableByControl(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
        {
            isEdt = !isEdt;
            if (gridViews != null)
            {
                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
                {
                    gv.OptionsBehavior.Editable = !isEdt;
                }
            }
            foreach (Control ctrl in controls)
            {
                //文本
                if (ctrl is TextEdit)
                {
                    ctrl.Enabled = isEdt;
                    TextEdit txt = ctrl as TextEdit;
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //数字卡
                if (ctrl is NumericUpDown)
                {
                    ctrl.Enabled = isEdt;
                    NumericUpDown txt = ctrl as NumericUpDown;
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //下拉
                if (ctrl is UcComBox)
                {
                    UcComBox txt = ctrl as UcComBox;
                    txt.Val = "0";
                    txt.Enabled = !isEdt;
                    continue;
                }
                //日期
                if (ctrl is DateTimePicker)
                {
                    ctrl.Enabled = !isEdt;
                    continue;
                }
                //单选
                if (ctrl is CheckBox)
                {
                    ctrl.Enabled = !isEdt;
                    continue;
                }
            }
        }
@@ -311,7 +530,7 @@
        /// </summary>
        /// <param name="tabControl">选项卡容器</param>
        /// <param name="idx">从0开始,如果是999,则全部可用</param>
        public static void ChangeTab(XtraTabControl tabControl, int idx)
        public static void JumpToTab(XtraTabControl tabControl, int idx)
        {
            if (idx == 999)
            {
@@ -330,53 +549,43 @@
            tabControl.SelectedTabPageIndex = idx;
        }
        /// <summary>
        /// TreeView联动选择
        /// </summary>
        /// <param name="e"></param>
        public static void TreeViewCheck(TreeViewEventArgs e)
        {
            try
            {
                if (e.Node.Nodes.Count > 0)
                {
                    bool NoFalse = true;
                    foreach (TreeNode tn in e.Node.Nodes)
                    {
                        if (tn.Checked == false)
                        tn.Checked = e.Node.Checked;
                        foreach (TreeNode x in tn.Nodes)
                        {
                            NoFalse = false;
                        }
                    }
                    if (e.Node.Checked == true || NoFalse)
                    {
                        foreach (TreeNode tn in e.Node.Nodes)
                        {
                            if (tn.Checked != e.Node.Checked)
                            x.Checked = e.Node.Checked;
                            foreach (TreeNode y in x.Nodes)
                            {
                                tn.Checked = e.Node.Checked;
                                y.Checked = e.Node.Checked;
                            }
                        }
                    }
                }
                if (e.Node.Parent != null && e.Node.Parent is TreeNode)
                if (e.Node.Checked == true && e.Node.Parent != null && e.Node.Parent.Nodes.Count > 0)
                {
                    bool ParentNode = true;
                    foreach (TreeNode tn in e.Node.Parent.Nodes)
                    TreeNode currentNode = e.Node;
                    while (currentNode != null)
                    {
                        if (tn.Checked == false)
                        {
                            ParentNode = false;
                        }
                    }
                    if (e.Node.Parent.Checked != ParentNode && (e.Node.Checked == false || e.Node.Checked == true && e.Node.Parent.Checked == false))
                    {
                        e.Node.Parent.Checked = ParentNode;
                        currentNode.Checked = e.Node.Checked;
                        currentNode = currentNode.Parent;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
                ToolBox.MsgHelper.ShowError(ex.Message);
            }
        }
        /// <summary>
@@ -384,20 +593,273 @@
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static string ToCamelCase(string input)
        public static string ToCamelCase(string strItem)
        {
            if (string.IsNullOrEmpty(input))
                return input;
            //如果包含小写,但不包含下划线
            bool hasLowercase = Regex.IsMatch(strItem, @"[a-z]");
            if (hasLowercase && !strItem.Contains("_"))
            {
                char[] chars = strItem.ToCharArray();
                chars[0] = char.ToLower(chars[0]);
                return new string(chars);
            }
            string[] strItems = strItem.ToLower().Split('_');
            string strItemTarget = strItems[0];
            for (int j = 1; j < strItems.Length; j++)
            {
                string temp = strItems[j].ToString();
                string temp1 = temp[0].ToString().ToUpper();
                string temp2 = "";
                temp2 = temp1 + temp.Remove(0, 1);
                strItemTarget += temp2;
            }
            return strItemTarget;
            // 匹配非字母数字字符后的第一个字母,并将其转换为大写
            return Regex.Replace(
                input,
                "([a-z])([A-Z])",
                "$1$2",
                RegexOptions.CultureInvariant
            ).Trim();
        }
        /// <summary>
        /// 读取grid的当前行
        /// </summary>
        /// <param name="xtraTabControl1"></param>
        /// <param name="lbGuid">编辑框中的主键名</param>
        /// <param name="txtName">编辑框中的文本框名</param>
        /// <param name="gridView1"></param>
        /// <param name="SelectedTabPageIndex"></param>
        /// <returns></returns>
        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
            , System.Windows.Forms.Label lbGuid
            , DevExpress.XtraEditors.TextEdit txtName
            , DevExpress.XtraGrid.Views.Grid.GridView gridView1
            , int SelectedTabPageIndex = 1)
        {
            string _strGuid = "";
            string _strName = "";
            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
            {
                _strGuid = lbGuid.Text.Trim();
                _strName = txtName.Text.Trim();
            }
            else
            {
                DataRow dr = gridView1.GetFocusedDataRow();
                if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
                {
                }
                else
                {
                    _strGuid = dr["guid"].ToString();
                    _strName = dr[2].ToString();
                }
            }
            return (_strGuid, _strName);
        }
        /// <summary>
        /// 读取TreeView的当前行
        /// </summary>
        /// <param name="xtraTabControl1"></param>
        /// <param name="lbGuid"></param>
        /// <param name="txtName"></param>
        /// <param name="tlMenu"></param>
        /// <param name="SelectedTabPageIndex"></param>
        /// <returns></returns>
        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
            , System.Windows.Forms.Label lbGuid
            , DevExpress.XtraEditors.TextEdit txtName
            , System.Windows.Forms.TreeView tlMenu
            , int SelectedTabPageIndex = 1)
        {
            string _strGuid = "";
            string _strName = "";
            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
            {
                _strGuid = lbGuid.Text.Trim();
                _strName = txtName.Text.Trim();
            }
            else
            {
                TreeNode clickedNode = tlMenu.SelectedNode;
                if (clickedNode != null)
                {
                    _strGuid = clickedNode.Name.ToString();
                    _strName = clickedNode.Text.Trim();
                }
            }
            return (_strGuid, _strName);
        }
        /// <summary>
        /// 读取TreeList的当前行
        /// </summary>
        /// <param name="xtraTabControl1"></param>
        /// <param name="lbGuid"></param>
        /// <param name="txtName"></param>
        /// <param name="tlMenu"></param>
        /// <param name="SelectedTabPageIndex"></param>
        /// <returns></returns>
        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
            , System.Windows.Forms.Label lbGuid
             , DevExpress.XtraEditors.TextEdit txtName
            , DevExpress.XtraTreeList.TreeList tlMenu
            , int SelectedTabPageIndex = 1)
        {
            string _strGuid = "";
            string _strName = "";
            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
            {
                _strGuid = lbGuid.Text.Trim();
                _strName = txtName.Text.Trim();
            }
            else
            {
                _strGuid = tlMenu.FocusedNode.GetValue("guid").ToString();
                _strName = tlMenu.FocusedNode.GetValue(0).ToString();
            }
            return (_strGuid, _strName);
        }
        /// <summary>
        /// 读取GridView双击的主键
        /// </summary>
        /// <param name="gridView1"></param>
        /// <param name="e"></param>
        /// <param name="colName"></param>
        /// <returns></returns>
        public static string GetCurrentDoubleRow(DevExpress.XtraGrid.Views.Grid.GridView gridView1
            , MouseEventArgs e
            , string colName)
        {
            GridHitInfo info = gridView1.CalcHitInfo(e.Location);
            if (info.InRow)
            {
                GridView view = info.View as GridView;
                if (view != null)
                {
                    DataRow row = view.GetDataRow(info.RowHandle);
                    if (row != null)
                    {
                        string rowGuid = (row[colName].ToString());
                        return rowGuid;
                    }
                }
            }
            return "";
        }
        /// <summary>
        /// 读取GridView双击的主键
        /// </summary>
        /// <param name="gridView1"></param>
        /// <param name="e"></param>
        /// <param name="colName"></param>
        /// <returns></returns>
        public static string GetCurrentDoubleRow(DevExpress.XtraTreeList.TreeList tlMenu
            , MouseEventArgs e
            , string colName)
        {
            TreeListHitInfo info = tlMenu.CalcHitInfo(e.Location);
            if (info.Node != null)
            {
                TreeListNode clickedNode = tlMenu.FocusedNode;
                if (clickedNode.FirstNode == null)
                {
                    string rowGuid = clickedNode.GetValue(colName).ToString();
                    return rowGuid;
                }
            }
            return "";
        }
    }
    /// <summary>
    /// 下拉框条目类
    /// </summary>
    public class CboItemEntity
    {
        public CboItemEntity()
        {
        }
        public CboItemEntity(string val, string text)
        {
            this.Text = text;
            this.Value = val;
        }
        private object _text = 0;
        private object _Value = "";
        /// <summary>
        /// 显示值
        /// </summary>
        public object Text
        {
            get { return this._text; }
            set { this._text = value; }
        }
        /// <summary>
        /// 对象值
        /// </summary>
        public object Value
        {
            get { return this._Value; }
            set { this._Value = value; }
        }
        public override string ToString()
        {
            return this.Text.ToString();
        }
    }
    /// <summary>
    /// 查询框
    /// </summary>
    public class FilterEntity
    {
        /// <summary>
        ///
        /// </summary>
        /// <param name="id">字段名</param>
        /// <param name="idDec">字段名备注</param>
        /// <param name="oper">操作符</param>
        /// <param name="operDec">操作符备注</param>
        /// <param name="val"></param>
        public FilterEntity(string id, string idDec, string oper, string operDec, string val)
        {
            this.fileId = id;
            this.fileIdDec = idDec;
            this.fileOper = oper;
            this.fileOperDec = operDec;
            this.fileValue = val;
        }
        public string fileId
        {
            get;
            set;
        }
        public string fileIdDec
        {
            get;
            set;
        }
        public string fileOper
        {
            get;
            set;
        }
        public string fileOperDec
        {
            get;
            set;
        }
        public string fileValue
        {
            get;
            set;
        }
    }
}