| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Reflection; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | using DevExpress.XtraEditors; |
| | |
| | | |
| | | #region 以下为种种下拉 |
| | | |
| | | private void getCopyMx(string strGuid) |
| | | private DataTable ListToTable<T>(List<T> items) |
| | | { |
| | | if (string.IsNullOrEmpty(strGuid)) |
| | | DataTable dataTable = new DataTable(typeof(T).Name); |
| | | |
| | | // 获取所有的属性 |
| | | PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance); |
| | | foreach (PropertyInfo prop in Props) |
| | | { |
| | | MsgHelper.Warning("请先选择你要复制的行!"); |
| | | return; |
| | | // 设置列的名字和数据类型 |
| | | dataTable.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType); |
| | | } |
| | | var _obj = new |
| | | |
| | | // 遍历所有的对象 |
| | | foreach (T item in items) |
| | | { |
| | | guid = strGuid |
| | | }; |
| | | try |
| | | var values = new object[Props.Length]; |
| | | for (int i = 0; i < Props.Length; i++) |
| | | { |
| | | var strJson = UtilityHelper.HttpPost("", |
| | | _webServiceName + "GetModelIQC", |
| | | JsonConvert.SerializeObject(_obj)); |
| | | var _rtn = |
| | | UtilityHelper.ReturnToDynamic(strJson); |
| | | if (_rtn.rtnCode > 0) |
| | | { |
| | | var dy = _rtn.rtnData; |
| | | var _job = JObject.Parse(strJson); |
| | | var array = new JArray(); |
| | | foreach (var a in _job["rtnData"]["list"]) array.Add(a); |
| | | var dt = |
| | | JsonConvert.DeserializeObject<DataTable>( |
| | | array.ToString()); |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | | gcMx1.BindingContext = new BindingContext(); |
| | | gcMx1.DataSource = dt; |
| | | gcMx1.ForceInitialize(); |
| | | // 插入属性值到datatable |
| | | values[i] = Props[i].GetValue(item, null); |
| | | } |
| | | else |
| | | { |
| | | MsgHelper.Warning("提示:没找到相应的明细,请选择其它试试!"); |
| | | dataTable.Rows.Add(values); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | MsgHelper.Warning("提示:" + _rtn.rtnMsg); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.Warning("提示:" + ex.Message); |
| | | } |
| | | return dataTable; |
| | | } |
| | | |
| | | private void _setIno() |
| | |
| | | var frm = new SelectCheckDt(); |
| | | frm.UpdateParent += (ss, ee) => |
| | | { |
| | | var lst = new List<string>(); |
| | | lst = ee.StringList; |
| | | getCopyMx(lst[0]); |
| | | |
| | | var lst = new List<dynamic>(); |
| | | lst = ee.DynamicList; |
| | | DataTable table = ListToTable(lst); |
| | | gridControl2.BindingContext = new BindingContext(); |
| | | gridControl2.DataSource = table; |
| | | gridControl2.ForceInitialize(); |
| | | }; |
| | | frm.ShowDialog(); |
| | | }; |