| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using PTMedicalInsurance.Common;
- using PTMedicalInsurance.Helper;
- using PTMedicalInsurance.Business;
- using Newtonsoft.Json.Linq;
- using System.Data;
- using System.Windows.Forms;
- namespace PTMedicalInsurance.FormSetter
- {
- class ComboxSetter
- {
- private InvokeHelper invoker = new InvokeHelper();
- private HisIrisServices hIS = new HisIrisServices();
- private MIIrisServices mIS = new MIIrisServices();
- public void setCbxInterfaceDataSource(Sunny.UI.UIComboBox cbx)
- {
- DataTable dt = new DataTable();
- JObject joRtn = mIS.getInterface();
- JArray jaParams = new JArray();
- jaParams = JArray.Parse(JsonHelper.getDestValue(joRtn, "result.data"));
- if (jaParams.Count == 0)
- {
- DataTableSetter dts = new DataTableSetter();
- dt = dts.setDgvInterfaceDataTable();
- return;
- }
- else
- {
- dt = (DataTable)jaParams.ToObject(typeof(DataTable));
- }
- dt.AcceptChanges();
- cbx.DataSource = dt;
- cbx.DisplayMember = "InterfaceName";
- cbx.ValueMember = "ID";
- }
- public void setCbxDictionaryDataSource(string interfaceDr, string dicType, Sunny.UI.UIComboBox cbx)
- {
- InsuServices iris = new InsuServices();
- DataTable dt = new DataTable();
- JObject joRtn = iris.getSpecDictionary(interfaceDr, dicType);
- JArray jaParams = new JArray();
- jaParams = JArray.Parse(JsonHelper.getDestValue(joRtn, "result.data"));
- if (jaParams.Count == 0)
- {
- DataTableSetter dts = new DataTableSetter();
- dt = dts.setDgvInterfaceDataTable();
- return;
- }
- else
- {
- dt = (DataTable)jaParams.ToObject(typeof(DataTable));
- //Global.inf.interfaceDr_Download = int.Parse(dt.Rows[0]["ID"].ToString());
- }
- dt.AcceptChanges();
- cbx.DataSource = dt;
- cbx.DisplayMember = "name";
- cbx.ValueMember = "code";
- }
- public string getCbxSelectedValue(Sunny.UI.UIComboBox cbx, string selectedName)
- {
- try
- {
- DataTable dt = (DataTable)cbx.DataSource;
- int a = cbx.SelectedIndex;
- return dt.Rows[a][selectedName].ToString();
- }
- catch (Exception ex)
- {
- return "";
- }
- }
- #region DBLookupCombox设置
- private DataTable GetDBLKComboxTable(string sqlStr)
- {
- InvokeHelper invoker = new InvokeHelper();
- dynamic joInparm = new JObject();
- dynamic joTmp = new JObject();
- joTmp.sqlStr = sqlStr;
- JArray jaParams = new JArray();
- jaParams.Add(joTmp);
- joInparm.Add("params", JArray.FromObject(jaParams));
- joInparm.code = "09010014";
- string inParam = joInparm.ToString();
- JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
- //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
- DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
- //dt.Columns[0].ColumnName = "编码";d
- //dt.Columns[1].ColumnName = "名称";
- //dt.Columns[2].ColumnName = "拼音查找码";
- return dt;
- }
- public DataTable GetDBLKComboxTable(JObject jo,string path)
- {
- JArray ja = JArray.Parse(JsonHelper.getDestValue(jo,path));
- DataTable dt = (DataTable)ja.ToObject(typeof(DataTable));
- return dt;
- }
- public DataTable GetDBLKComboxTable(JArray ja)
- {
- DataTable dt = (DataTable)ja.ToObject(typeof(DataTable));
- return dt;
- }
- private void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, string sqlStr)
- {
- SetDBLKCombox(ref dblcbx, GetDBLKComboxTable(sqlStr));
- }
- public void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, DataTable dt)
- {
- dblcbx.sDisplayField = "Code,Name,SearchCode";
- dblcbx.sDisplayMember = "名称";
- dblcbx.sKeyWords = "Code,SearchCode";
- dblcbx.DataSource = dt;
- dblcbx.RowFilterVisible = true;
- dblcbx.TextBox.Width = 400;
- dblcbx.DataGridView.Width = 400;
- dblcbx.DataGridView.Columns[0].Name = "编码";
- dblcbx.DataGridView.Columns[1].Name = "名称";
- dblcbx.DataGridView.Columns[2].Name = "查找码";
- dblcbx.DataGridView.Columns[0].Width = 100;
- dblcbx.DataGridView.Columns[1].Width = 200;
- }
- /// <summary>
- /// 格式化combobox为下拉框指定格式
- /// </summary>
- /// <param name="sourceTable"></param>
- /// <param name="code"></param>
- /// <param name="desc"></param>
- /// <returns></returns>
- public DataTable FormatComboxDatasource(DataTable sourceTable, string code, string desc)
- {
- // 使用 LINQ 查询源 DataTable
- var query = from row in sourceTable.AsEnumerable()
- select new { Code = row.Field<string>(code), Name = row.Field<string>(desc) };
- // 创建新的 DataTable
- DataTable resultTable = new DataTable();
- resultTable.Columns.Add("Code", typeof(string));
- resultTable.Columns.Add("Name", typeof(string));
- resultTable.Columns.Add("SearchCode", typeof(string));
- // 将查询结果添加到新的 DataTable
- foreach (var item in query)
- {
- resultTable.Rows.Add(item.Code, item.Name, item.Name);
- }
- return resultTable;
- }
- public void AfterSelector(object sender, PTControl.AfterSelectorEventArgs e, out string code, out string name)
- {
- DataGridViewRow row = e.Value as DataGridViewRow;
- DataRowView dataRow = row.DataBoundItem as DataRowView;
- code = dataRow["Code"].ToString().Trim();
- name = dataRow["Name"].ToString().Trim();
- }
- #endregion
- }
- }
|