using System;
|
using System.Collections.Generic;
|
using System.Configuration;
|
using System.Data;
|
using System.Drawing;
|
using System.IO;
|
using System.Net;
|
using System.Net.Http;
|
using System.Reflection;
|
using System.Resources;
|
using System.Text;
|
using System.Text.RegularExpressions;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
using DevExpress.XtraEditors;
|
using DevExpress.XtraEditors.Controls;
|
using DevExpress.XtraGrid;
|
using DevExpress.XtraGrid.Columns;
|
using DevExpress.XtraGrid.Views.Grid;
|
using DevExpress.XtraTab;
|
using DevExpress.XtraTreeList;
|
using Gs.DevApp.Entity;
|
using Gs.DevApp.UserControl;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using static System.Windows.Forms.Control;
|
|
namespace Gs.DevApp.ToolBox
|
{
|
/// <summary>
|
/// 通用类
|
/// </summary>
|
public class UtilityHelper
|
{
|
private static readonly string WebApiUrl =
|
ConfigurationManager.AppSettings["WebApiUrl"];
|
|
|
public static async Task<string> UploadFileAsync(string filePath)
|
{
|
using (var httpClient = new HttpClient())
|
using (var form = new MultipartFormDataContent())
|
{
|
httpClient.DefaultRequestHeaders.Add("token",
|
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);
|
var responseString =
|
await response.Content.ReadAsStringAsync();
|
return responseString;
|
}
|
}
|
}
|
/// <summary>
|
/// httpPost访问服务
|
/// </summary>
|
/// <param name="url">服务地址</param>
|
/// <param name="meth">方法名称</param>
|
/// <param name="param">参数</param>
|
/// <returns></returns>
|
public static async Task<string> HttpPostAsync(string url, string meth, string param)
|
{
|
if (string.IsNullOrEmpty(url))
|
url = WebApiUrl;
|
url += meth;
|
var request = (HttpWebRequest)WebRequest.Create(url);
|
request.Method = "POST";
|
request.ContentType = "application/json";
|
request.Headers.Add("token", GetBasicAuthTicket());
|
request.Accept = "*/*";
|
request.Timeout = 15000;
|
request.AllowAutoRedirect = false;
|
using (Stream requestStream = await request.GetRequestStreamAsync())
|
{
|
byte[] dataBytes = Encoding.UTF8.GetBytes(param);
|
await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
|
}
|
|
using (WebResponse response = await request.GetResponseAsync())
|
{
|
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
|
{
|
return await reader.ReadToEndAsync();
|
}
|
}
|
}
|
|
/// <summary>
|
/// httpPost访问服务
|
/// </summary>
|
/// <param name="url">服务地址</param>
|
/// <param name="meth">方法名称</param>
|
/// <param name="param">参数</param>
|
/// <returns></returns>
|
public static string HttpPost(string url, string meth, string param)
|
{
|
if (string.IsNullOrEmpty(url))
|
url = WebApiUrl;
|
url += meth;
|
var request = (HttpWebRequest)WebRequest.Create(url);
|
request.Method = "POST";
|
request.ContentType = "application/json";
|
request.Headers.Add("token", GetBasicAuthTicket());
|
request.Accept = "*/*";
|
request.Timeout = 15000;
|
request.AllowAutoRedirect = false;
|
StreamWriter requestStream = null;
|
WebResponse response = null;
|
string responseStr = null;
|
try
|
{
|
requestStream = new StreamWriter(request.GetRequestStream());
|
requestStream.Write(param);
|
requestStream.Close();
|
response = request.GetResponse();
|
if (response != null)
|
{
|
var reader = new StreamReader(response.GetResponseStream(),
|
Encoding.UTF8);
|
responseStr = reader.ReadToEnd();
|
//File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr);
|
reader.Close();
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Debug(url, param + ":" + ex.Message);
|
throw ex;
|
}
|
finally
|
{
|
request = null;
|
requestStream = null;
|
response = null;
|
}
|
|
return responseStr;
|
}
|
|
/// <summary>
|
/// 默认页大小
|
/// </summary>
|
/// <returns></returns>
|
public static int GetPageSize()
|
{
|
return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
|
}
|
|
/// <summary>
|
/// 根据图片名读取资源文件,不带后缀名
|
/// </summary>
|
/// <param name="imageName"></param>
|
/// <param name="lay">1为大图</param>
|
/// <returns></returns>
|
public static Image GetImgFromResource(string imageName, int lay)
|
{
|
var assembly = Assembly.GetExecutingAssembly();
|
var resourceManager =
|
new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
|
try
|
{
|
var image = resourceManager.GetObject(imageName) as Image;
|
if (image != null) return image;
|
}
|
catch (Exception ex)
|
{
|
}
|
|
var image2 = resourceManager.GetObject(lay == 1
|
? "chartsshowlegend_32x32"
|
: "linktoprevious_16x16") as Image;
|
return image2;
|
}
|
|
/// <summary>
|
/// 初始化一个表
|
/// </summary>
|
/// <param name="gc"></param>
|
/// <param name="gv"></param>
|
public static void SetDefaultTable(GridControl gc, GridView gv)
|
{
|
var 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()
|
{
|
var userGuid =
|
string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid)
|
? Guid.NewGuid().ToString()
|
: LoginInfoModel.CurrentUser.LoginUserGuid;
|
var orgGuid =
|
string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid)
|
? Guid.NewGuid().ToString()
|
: LoginInfoModel.CurrentUser.LoginOrgGuid;
|
var token = userGuid + "~" + orgGuid;
|
return token;
|
}
|
|
/// <summary>
|
/// 服务返回的json转为ReturnModel-->包含TablePage分页,
|
/// </summary>
|
/// <param name="strReturn"></param>
|
/// <returns></returns>
|
public static ReturnModel<PageListModel> ReturnToTablePage(
|
string strReturn)
|
{
|
var rto = new ReturnModel<PageListModel>();
|
var json = JObject.Parse(strReturn);
|
rto.rtnCode = int.Parse(json["rtnCode"].ToString());
|
rto.rtnMsg = json["rtnMsg"].ToString();
|
rto.rtnData = new PageListModel();
|
rto.rtnData.pages = int.Parse(json["rtnData"]["pages"].ToString());
|
rto.rtnData.total = int.Parse(json["rtnData"]["total"].ToString());
|
rto.rtnData.everyPageSize =
|
int.Parse(json["rtnData"]["everyPageSize"].ToString());
|
var array = new JArray();
|
var d = json["rtnData"]["list"];
|
foreach (var a in d) array.Add(a);
|
var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
|
rto.rtnData.list = dt;
|
return rto;
|
}
|
|
/// <summary>
|
/// 服务返回的json返回ReturnModel,
|
/// </summary>
|
/// <param name="strReturn"></param>
|
/// <returns></returns>
|
public static ReturnModel<dynamic> ReturnToDynamic(string strReturn)
|
{
|
var rto = new ReturnModel<dynamic>();
|
var json = JObject.Parse(strReturn);
|
rto.rtnCode = int.Parse(json["rtnCode"].ToString());
|
rto.rtnMsg = json["rtnMsg"].ToString();
|
rto.rtnData = json["rtnData"];
|
return rto;
|
}
|
|
/// <summary>
|
/// 服务返回的json串返回ReturnModel-->仅仅有list,不分页,
|
/// </summary>
|
/// <param name="strReturn"></param>
|
/// <returns></returns>
|
public static ReturnModel<DataTable> ReturnToList(string strReturn)
|
{
|
var rto = new ReturnModel<DataTable>();
|
var json = JObject.Parse(strReturn);
|
rto.rtnCode = int.Parse(json["rtnCode"].ToString());
|
rto.rtnMsg = json["rtnMsg"].ToString();
|
rto.rtnData = new DataTable();
|
var array = new JArray();
|
var d = json["rtnData"];
|
foreach (var a in d) array.Add(a);
|
var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
|
rto.rtnData = dt;
|
return rto;
|
}
|
|
/// <summary>
|
/// 根据对象批量设置文本框的值
|
/// </summary>
|
/// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
|
/// <param name="dynamicObject">对像</param>
|
/// <param name="isEdt">是否可编辑</param>
|
/// <param name="gridViews">关联的grid</param>
|
public static void SetValueByObj(ControlCollection controls,
|
dynamic dynamicObject, bool isEdt, List<GridView> gridViews = null)
|
{
|
isEdt = !isEdt;
|
if (gridViews != null)
|
foreach (var gv in gridViews)
|
{
|
foreach (GridColumn colmn in gv.Columns)
|
{
|
if (colmn.Name.ToString().Contains("gvMxDel"))
|
{
|
colmn.Visible = !isEdt;
|
break;
|
}
|
}
|
gv.OptionsBehavior.Editable = !isEdt;
|
}
|
var _btnAry = controls.Find("btnSelect", false);
|
if (_btnAry.Length > 0)
|
{
|
var _btnType = _btnAry[0];
|
_btnType.Enabled = !isEdt;
|
}
|
var _btnAry2 = controls.Find("btnTui", false);
|
if (_btnAry2.Length > 0)
|
{
|
var _btnType = _btnAry2[0];
|
_btnType.Enabled = !isEdt;
|
}
|
foreach (JProperty property in dynamicObject.Properties())
|
{
|
var strName = property.Name;
|
var strVal = property.Value.ToString();
|
try
|
{
|
var _dddddd = "txt_" + strName;
|
var cols = controls.Find(_dddddd, true);
|
if (cols.Length > 0)
|
{
|
var colType = cols[0];
|
if (colType is LookUpEdit)
|
{
|
var txt = colType as LookUpEdit;
|
if (txt != null) txt.EditValue = strVal;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
|
if (colType is ImageComboBoxEdit)
|
{
|
var txt = colType as ImageComboBoxEdit;
|
for (var i = 0; i < txt.Properties.Items.Count; i++)
|
{
|
if (txt.Properties.Items[i].Description ==
|
strVal)
|
{
|
txt.ReadOnly = isEdt;
|
txt.SelectedIndex = i;
|
}
|
}
|
continue;
|
}
|
|
if (colType is ComboBoxEdit)
|
{
|
var txt = colType as ComboBoxEdit;
|
if (txt.Properties.TextEditStyle ==
|
TextEditStyles.DisableTextEditor)
|
txt.SelectedIndex = int.Parse(strVal);
|
else
|
txt.Text = strVal;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
|
//下拉
|
if (colType is ComboBoxEdit)
|
{
|
var txt = colType as ComboBoxEdit;
|
if (txt.Properties.TextEditStyle ==
|
TextEditStyles.DisableTextEditor)
|
txt.SelectedIndex = int.Parse(strVal);
|
else
|
txt.Text = strVal;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
|
//自定义下拉
|
if (colType is UcComBox)
|
{
|
var txt = colType as UcComBox;
|
txt.Val = strVal;
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
|
//文本
|
if (colType is TextEdit)
|
{
|
var txt = colType as TextEdit;
|
if (txt != null)
|
txt.Text = strVal;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
if (colType is MemoEdit)
|
{
|
var txt = colType as MemoEdit;
|
if (txt != null)
|
txt.Text = strVal;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
|
//数字卡
|
if (colType is NumericUpDown)
|
{
|
var txt = colType as NumericUpDown;
|
if (txt != null)
|
txt.Text = strVal;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
|
//单选
|
if (colType is CheckEdit)
|
{
|
var 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)
|
{
|
var txt = colType as CheckBox;
|
if (txt != null)
|
txt.Checked = bool.Parse(strVal);
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
if (colType is CheckEdit)
|
{
|
var txt = colType as CheckEdit;
|
if (txt != null)
|
txt.Checked = bool.Parse(strVal);
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
//时间
|
if (colType is DateTimePicker)
|
{
|
var txt = colType as DateTimePicker;
|
txt.Text = strVal;
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
|
//Label
|
if (colType is Label)
|
{
|
var txt = colType as Label;
|
if (_dddddd == "txt_checkStatus")
|
{
|
if (strVal == "True" || strVal == "1")
|
txt.Text = "已审核";
|
if (strVal == "False" || strVal == "0" || strVal == "")
|
txt.Text = "未审核";
|
}
|
else
|
{
|
txt.Text = strVal;
|
}
|
}
|
//自定义仓库
|
if (colType is UcLookCk)
|
{
|
var txt = colType as UcLookCk;
|
txt.SetIdOrCode(strVal);
|
if (txt.IsReadly == false)
|
txt.Enabled = !isEdt;
|
else
|
txt.Enabled = false;
|
continue;
|
}
|
//自定义供应商
|
if (colType is UcLookSupplier)
|
{
|
var txt = colType as UcLookSupplier;
|
txt.SetIdOrCode(strVal);
|
if (txt.IsReadly == false)
|
txt.Enabled = !isEdt;
|
else
|
txt.Enabled = false;
|
continue;
|
}
|
//自定义物料
|
if (colType is UcLookItems)
|
{
|
var txt = colType as UcLookItems;
|
txt.SetIdOrCode(strVal);
|
if (txt.IsReadly == false)
|
txt.Enabled = !isEdt;
|
else
|
txt.Enabled = false;
|
continue;
|
}
|
if (colType is SimpleButton)
|
{
|
var txt = colType as SimpleButton;
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
MessageBox.Show(ex.Message);
|
}
|
}
|
}
|
|
/// <summary>
|
/// 清空容器里面的控件
|
/// </summary>
|
/// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
|
/// <param name="isEdt">是否可编辑</param>
|
/// <param name="gridViews">关联的grid</param>
|
public static void CleanValueByControl(ControlCollection controls,
|
bool isEdt, List<GridView> gridViews = null)
|
{
|
isEdt = !isEdt;
|
if (gridViews != null)
|
foreach (var gv in gridViews)
|
{
|
foreach (GridColumn colmn in gv.Columns)
|
{
|
if (colmn.Name.ToString().Contains("gvMxDel"))
|
{
|
colmn.Visible = !isEdt;
|
break;
|
}
|
}
|
gv.OptionsBehavior.Editable = !isEdt;
|
}
|
foreach (Control ctrl in controls)
|
{
|
//多行文本
|
if (ctrl is MemoEdit)
|
{
|
var txt = ctrl as MemoEdit;
|
txt.Text = "";
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
|
//下拉
|
if (ctrl is ComboBoxEdit)
|
{
|
var txt = ctrl as ComboBoxEdit;
|
if (txt.Properties.TextEditStyle ==
|
TextEditStyles.DisableTextEditor)
|
txt.SelectedIndex = 0;
|
else
|
txt.Text = "";
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
|
//自定义的下拉
|
if (ctrl is UcComBox)
|
{
|
var txt = ctrl as UcComBox;
|
txt.Val = "0";
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
|
//文本
|
if (ctrl is TextEdit)
|
{
|
var txt = ctrl as TextEdit;
|
txt.Text = "";
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
if (ctrl is MemoEdit)
|
{
|
var txt = ctrl as MemoEdit;
|
if (txt != null)
|
txt.Text = "";
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
//时间
|
if (ctrl is DateTimePicker)
|
{
|
var txt = ctrl as DateTimePicker;
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
//单选
|
if (ctrl is CheckBox)
|
{
|
var txt = ctrl as CheckBox;
|
txt.Checked = false;
|
txt.Enabled = !isEdt;
|
}
|
if (ctrl is CheckEdit)
|
{
|
var txt = ctrl as CheckEdit;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
|
//自定义仓库
|
if (ctrl is UcLookCk)
|
{
|
var txt = ctrl as UcLookCk;
|
txt.SetIdOrCode("-1");
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
//自定义供应商
|
if (ctrl is UcLookSupplier)
|
{
|
var txt = ctrl as UcLookSupplier;
|
txt.SetIdOrCode("-1");
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
//自定义物料
|
if (ctrl is UcLookItems)
|
{
|
var txt = ctrl as UcLookItems;
|
txt.SetIdOrCode("-1");
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
if (ctrl is SimpleButton)
|
{
|
var txt = ctrl as SimpleButton;
|
txt.Enabled = !isEdt;
|
continue;
|
}
|
|
}
|
}
|
|
/// <summary>
|
/// 禁用或启用容器里面的控件
|
/// </summary>
|
/// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
|
/// <param name="isEdt"></param>
|
/// <param name="gridViews"></param>
|
public static void ChangeEnableByControl(ControlCollection controls,
|
bool isEdt, List<GridView> gridViews = null)
|
{
|
isEdt = !isEdt;
|
if (gridViews != null)
|
foreach (var gv in gridViews)
|
{
|
foreach (GridColumn colmn in gv.Columns)
|
{
|
if (colmn.Name.ToString().Contains("gvMxDel"))
|
{
|
colmn.Visible = !isEdt;
|
break;
|
}
|
}
|
gv.OptionsBehavior.Editable = !isEdt;
|
}
|
foreach (Control ctrl in controls)
|
{
|
//文本
|
if (ctrl is TextEdit)
|
{
|
var txt = ctrl as TextEdit;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
if (ctrl is MemoEdit)
|
{
|
var txt = ctrl as MemoEdit;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
//数字卡
|
if (ctrl is NumericUpDown)
|
{
|
var txt = ctrl as NumericUpDown;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
//下拉
|
if (ctrl is UcComBox)
|
{
|
var 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;
|
}
|
|
if (ctrl is CheckEdit)
|
{
|
var txt = ctrl as CheckEdit;
|
txt.ReadOnly = isEdt;
|
continue;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 切换选项卡
|
/// </summary>
|
/// <param name="tabControl">选项卡容器</param>
|
/// <param name="idx">从0开始,如果是999,则全部可用</param>
|
public static void JumpToTab(XtraTabControl tabControl, int idx)
|
{
|
if (idx == 999)
|
{
|
for (var i = 0; i < tabControl.TabPages.Count; i++)
|
tabControl.TabPages[i].PageEnabled = true;
|
tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1;
|
return;
|
}
|
|
for (var i = 0; i < tabControl.TabPages.Count; i++)
|
tabControl.TabPages[i].PageEnabled = false;
|
tabControl.TabPages[idx].PageEnabled = true;
|
tabControl.SelectedTabPageIndex = idx;
|
}
|
|
/// <summary>
|
/// TreeView联动选择
|
/// </summary>
|
/// <param name="e"></param>
|
public static void TreeViewCheck(TreeViewEventArgs e)
|
{
|
try
|
{
|
if (e.Node.Nodes.Count > 0)
|
foreach (TreeNode tn in e.Node.Nodes)
|
{
|
tn.Checked = e.Node.Checked;
|
foreach (TreeNode x in tn.Nodes)
|
{
|
x.Checked = e.Node.Checked;
|
foreach (TreeNode y in x.Nodes)
|
y.Checked = e.Node.Checked;
|
}
|
}
|
|
if (e.Node.Checked && e.Node.Parent != null &&
|
e.Node.Parent.Nodes.Count > 0)
|
{
|
var currentNode = e.Node;
|
while (currentNode != null)
|
{
|
currentNode.Checked = e.Node.Checked;
|
currentNode = currentNode.Parent;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
MsgHelper.ShowError(ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// 转驼峰命名
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
public static string ToCamelCase(string strItem)
|
{
|
//如果包含小写,但不包含下划线
|
var hasLowercase = Regex.IsMatch(strItem, @"[a-z]");
|
if (hasLowercase && !strItem.Contains("_"))
|
{
|
var chars = strItem.ToCharArray();
|
chars[0] = char.ToLower(chars[0]);
|
return new string(chars);
|
}
|
|
var strItems = strItem.ToLower().Split('_');
|
var strItemTarget = strItems[0];
|
for (var j = 1; j < strItems.Length; j++)
|
{
|
var temp = strItems[j];
|
var temp1 = temp[0].ToString().ToUpper();
|
var temp2 = "";
|
temp2 = temp1 + temp.Remove(0, 1);
|
strItemTarget += temp2;
|
}
|
|
return strItemTarget;
|
}
|
|
/// <summary>
|
/// 转Guid
|
/// </summary>
|
/// <param name="str"></param>
|
/// <returns></returns>
|
public static Guid ToGuid(string str)
|
{
|
if (string.IsNullOrEmpty(str)) return Guid.Empty;
|
return Guid.Parse(str);
|
}
|
|
public static int ToInt(string str)
|
{
|
try
|
{
|
return int.Parse(str);
|
}
|
catch (Exception)
|
{
|
|
return 0;
|
}
|
}
|
public static long ToLong(string str)
|
{
|
try
|
{
|
return long.Parse(str);
|
}
|
catch (Exception)
|
{
|
|
return 0;
|
}
|
}
|
/// <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
|
, Label lbGuid
|
, TextEdit txtName
|
, GridView gridView1
|
, int SelectedTabPageIndex = 1)
|
{
|
var _strGuid = "";
|
var _strName = "";
|
if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
|
lbGuid.Text.Length > 10)
|
{
|
_strGuid = lbGuid.Text.Trim();
|
_strName = txtName.Text.Trim();
|
}
|
else
|
{
|
var dr = gridView1.GetFocusedDataRow();
|
if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
|
{
|
}
|
else
|
{
|
_strGuid = dr["guid"].ToString();
|
_strName = dr[1].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
|
, Label lbGuid
|
, TextEdit txtName
|
, TreeView tlMenu
|
, int SelectedTabPageIndex = 1)
|
{
|
var _strGuid = "";
|
var _strName = "";
|
if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
|
lbGuid.Text.Length > 10)
|
{
|
_strGuid = lbGuid.Text.Trim();
|
_strName = txtName.Text.Trim();
|
}
|
else
|
{
|
var clickedNode = tlMenu.SelectedNode;
|
if (clickedNode != null)
|
{
|
_strGuid = clickedNode.Name;
|
_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
|
, Label lbGuid
|
, TextEdit txtName
|
, TreeList tlMenu
|
, int SelectedTabPageIndex = 1)
|
{
|
var _strGuid = "";
|
var _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(GridView gridView1
|
, MouseEventArgs e
|
, string colName)
|
{
|
var info = gridView1.CalcHitInfo(e.Location);
|
if (info.InRow)
|
{
|
var view = info.View;
|
if (view != null)
|
{
|
var row = view.GetDataRow(info.RowHandle);
|
if (row != null)
|
{
|
var 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(TreeList tlMenu
|
, MouseEventArgs e
|
, string colName)
|
{
|
var info = tlMenu.CalcHitInfo(e.Location);
|
if (info.Node != null)
|
{
|
var clickedNode = tlMenu.FocusedNode;
|
if (clickedNode.FirstNode == null)
|
{
|
var rowGuid = clickedNode.GetValue(colName).ToString();
|
return rowGuid;
|
}
|
}
|
|
return "";
|
}
|
}
|
|
/// <summary>
|
/// 下拉框条目类
|
/// </summary>
|
public class CboItemEntity
|
{
|
public CboItemEntity()
|
{
|
}
|
|
public CboItemEntity(string val, string text)
|
{
|
Text = text;
|
Value = val;
|
}
|
|
/// <summary>
|
/// 显示值
|
/// </summary>
|
public object Text { get; set; } = 0;
|
|
/// <summary>
|
/// 对象值
|
/// </summary>
|
public object Value { get; set; } = "";
|
|
public override string ToString()
|
{
|
return 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)
|
{
|
fileId = id;
|
fileIdDec = idDec;
|
fileOper = oper;
|
fileOperDec = operDec;
|
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; }
|
}
|
}
|