| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401 |
- using Core.Mes.Client.Comm.Control;
- using Core.StlMes.Client.Judge.Commons;
- using Core.StlMes.Client.Judge.Forms;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Data;
- using System.Diagnostics;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.Judge.Controls
- {
- public partial class QcmBaseLanguageCtrl : UserControl
- {
- private Dal _d;
- private DataTable dtLanguage;
- private DataTable dtType;
- private DataTable dtType2;
- private DataTable dtType3;
- private string _languageCode = "";
- private string _type = "";
- private string _type2 = "";
- private string _type3 = "";
- public QcmBaseLanguageCtrl(Control container, OpeBase ob, string customInfo)
- {
- InitializeComponent();
- container.Controls.Add(this);
- this.Dock = DockStyle.Fill;
- this.BringToFront();
- _d = new Dal(ob);
- var list1 = new ValueList();
- dtLanguage = _d.GetTableByXmlId("QcmBaseLanguageFrm.QueryLanguageC");
- foreach (DataRow row in dtLanguage.Rows)
- {
- list1.ValueListItems.Add(row["askItemNo"].ToString(), row["askItemDesc"].ToString());
- }
- ultraGrid1.DisplayLayout.Bands[0].Columns["languageCode"].ValueList = list1;
- var listType = new ValueList();
- dtType = _d.GetTableByXmlId("QcmBaseLanguageFrm.QueryTypeC", new object[] { "4101", customInfo.Split(',') });
- foreach (DataRow row in dtType.Rows)
- {
- listType.ValueListItems.Add(row["basecode"].ToString(), row["basename"].ToString());
- }
- ultraGrid1.DisplayLayout.Bands[0].Columns["type"].ValueList = listType;
- dtType2 = _d.GetTableByXmlId("QcmBaseLanguageFrm.QueryTypeC2", new object[] { "4101__" });
- dtType3 = _d.GetTableByXmlId("QcmBaseLanguageFrm.QueryTypeC2", new object[] { "4101____" });
- }
- public DataTable dt { get { return dataTable2; } }
- public void Copy(string LanguageCode, string LanguageName, string L2, string L1)
- {
- DataTable dt = _d.GetTableByXmlId("QcmBaseLanguageFrm.Copy", LanguageCode, LanguageName, L2, L1);
- GridHelper.CopyDataToDatatable(dt, dataTable2, false);
- }
- public void Query(string LanguageCode, string type, string type2, string type3, bool flag, string customInfo)
- {
- _languageCode = LanguageCode;
- _type = type;
- _type2 = type2;
- _type3 = type3;
- if (flag)
- {
- DataTable dt = _d.GetTableByXmlId("QcmBaseLanguageFrm.QueryAll", new object[] { LanguageCode, type, type2, type3, customInfo.Split(',') });
- GridHelper.CopyDataToDatatable(dt, dataTable2, true);
- }
- else
- {
- DataTable dt = _d.GetTableByXmlId("QcmBaseLanguageFrm.Query", new object[] { LanguageCode, type, type2, type3, customInfo.Split(',') });
- GridHelper.CopyDataToDatatable(dt, dataTable2, true);
- }
- }
- public void OnKeyAdd(string LanguageCode, string Type, string Type2, string Type3)
- {
- DataTable dt = _d.GetTableByXmlId("QcmBaseLanguageFrm.OnKeyAdd", LanguageCode, Type, Type2, Type3);
- dataTable2.Rows.Clear();
- GridHelper.CopyDataToDatatable(dt, dataTable2, true);
- }
- private void ultraGrid1_InitializeTemplateAddRow(object sender, InitializeTemplateAddRowEventArgs e)
- {
- }
- private void ultraGrid1_CellChange(object sender, CellEventArgs e)
- {
- ultraGrid1.UpdateData();
- if (e.Cell.Column.Key != "CHK") e.Cell.Row.Cells["CHK"].Value = true;
- if (e.Cell.Column.Key == "type")
- {
- string type = e.Cell.Value.ToString2();
- var list = new ValueList();
- foreach (DataRow row in dtType2.AsEnumerable().Where(p => !string.IsNullOrWhiteSpace(type) && p["basecode"].ToString2().StartsWith(type)))
- {
- list.ValueListItems.Add(row["basecode"].ToString(), row["basename"].ToString());
- }
- e.Cell.Row.Cells["type2"].ValueList = list;
- e.Cell.Row.Cells["type2"].Value = "";
- }
- if (e.Cell.Column.Key == "type2")
- {
- string type2 = e.Cell.Value.ToString2();
- var list2 = new ValueList();
- foreach (DataRow row in dtType3.AsEnumerable().Where(p => !string.IsNullOrWhiteSpace(type2) && p["basecode"].ToString2().StartsWith(type2)))
- {
- list2.ValueListItems.Add(row["basecode"].ToString(), row["basename"].ToString());
- }
- e.Cell.Row.Cells["type3"].ValueList = list2;
- e.Cell.Row.Cells["type3"].Value = "";
- }
- if (e.Cell.Text == "")
- {
- e.Cell.Appearance.BackColor = Color.Red;
- }
- else
- {
- e.Cell.Appearance.ResetBackColor();
- }
- }
- private void uteTransfer_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- using (PopupTextBox PopupTextBox = new PopupTextBox(ultraGrid1.ActiveCell.Text, 4000))
- {
- if (PopupTextBox.ShowDialog() == DialogResult.OK)
- {
- ultraGrid1.ActiveCell.Value = PopupTextBox.TextInfo;
- if (ultraGrid1.ActiveCell.Text == "")
- {
- ultraGrid1.ActiveCell.Appearance.BackColor = Color.Red;
- }
- else
- {
- ultraGrid1.ActiveCell.Appearance.ResetBackColor();
- }
- }
- }
- }
- public void Export(string Name)
- {
- try
- {
- Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter ulGridExt = new Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter();
- ulGridExt.CellExporting += new Infragistics.Win.UltraWinGrid.ExcelExport.CellExportingEventHandler(ultraGridExcelExporter1_CellExporting);
- System.Windows.Forms.SaveFileDialog saveFileDialog1 = new SaveFileDialog();
- saveFileDialog1.FileName = Name + DateTime.Now.ToString("yyMMdd") + ".xls";
- if (saveFileDialog1.ShowDialog() == DialogResult.OK)
- {
- string sFullName = saveFileDialog1.FileName;
- ulGridExt.Export(ultraGrid1, sFullName);
- ProcessStartInfo p = new ProcessStartInfo(sFullName)
- {
- WorkingDirectory = Path.GetDirectoryName(sFullName)
- };
- Process.Start(p);
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("导出失败,原因:" + ex.Message);
- }
- }
- public static void ultraGridExcelExporter1_CellExporting(object sender, Infragistics.Win.UltraWinGrid.ExcelExport.CellExportingEventArgs e)
- {
- try
- {
- if (e.GridColumn.RowLayoutColumnInfo.LabelPosition == Infragistics.Win.UltraWinGrid.LabelPosition.LabelOnly)
- {
- e.Cancel = true;
- }
- }
- catch
- {
- }
- }
- /// <summary>
- /// 将excel文件内容读取到DataTable数据表中
- /// </summary>
- /// <returns>DataTable数据表</returns>
- public void ReadExcelToDataTable(string fileName)
- {
- //定义要返回的datatable对象
- DataTable ds = new DataTable();
- //excel工作表
- //NPOI.SS.UserModel.ISheet sheet = null;
- //数据开始行(排除标题行)
- int startRow = 0;
- try
- {
- if (!File.Exists(fileName))
- {
- return;
- }
- dataTable2.Rows.Clear();
- //根据指定路径读取文件
- FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
- //根据文件流创建excel数据结构
- NPOI.SS.UserModel.IWorkbook workbook = NPOI.SS.UserModel.WorkbookFactory.Create(fs);
- //IWorkbook workbook = new HSSFWorkbook(fs);
- for (int k = 0; k < workbook.NumberOfSheets; k++)
- {
- NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(k);
- if (sheet != null)
- {
- NPOI.SS.UserModel.IRow firstRow = sheet.GetRow(0);
- startRow = sheet.FirstRowNum;
- //最后一列的标号
- int rowCount = sheet.LastRowNum;
- for (int i = startRow + 1; i <= rowCount; ++i)
- {
- NPOI.SS.UserModel.IRow row = sheet.GetRow(i);
- if (row == null) continue; //没有数据的行默认是null
- DataRow dataRow = dataTable2.NewRow();
- for (int j = 0; j < 10; j++)
- {
- string Name = sheet.GetRow(startRow).GetCell(j).ToString2();
- string Value = row.GetCell(j).ToString2();
- if (Name.Trim() == "语言")
- {
- var list =
- dtLanguage.AsEnumerable()
- .Where(p => p["askItemDesc"].ToString3() == Value)
- .ToList();
- if (list.Any())
- {
- dataRow["languageCode"] = list[0]["askItemNo"].ToString2();
- }
- }
- if (Name.Trim() == "分类")
- {
- var list =
- dtType.AsEnumerable()
- .Where(p => p["basename"].ToString3() == Value)
- .ToList();
- if (list.Any())
- {
- dataRow["type"] = list[0]["basecode"].ToString2();
- }
- }
- if (Name.Trim() == "大项")
- {
- var list =
- dtType2.AsEnumerable()
- .Where(p => p["basename"].ToString3() == Value)
- .ToList();
- if (list.Any())
- {
- dataRow["type2"] = list[0]["basecode"].ToString2();
- }
- }
- if (Name.Trim() == "小项")
- {
- var list =
- dtType3.AsEnumerable()
- .Where(p => p["basename"].ToString3() == Value)
- .ToList();
- if (list.Any())
- {
- dataRow["type3"] = list[0]["basecode"].ToString2();
- }
- }
- if (Name.Trim() == "字段名称")
- {
- dataRow["originalValue"] = Value;
- }
- if (Name.Trim() == "翻译值")
- {
- dataRow["resultValue"] = Value;
- }
- if (Name.Trim() == "备注")
- {
- dataRow["remark"] = Value;
- }
- }
- if (dataRow["resultValue"].ToString2() != "" && dataRow["resultValue"].ToString2() != "")
- {
- dataRow["CHK"] = true;
- }
- dataTable2.Rows.Add(dataRow);
- }
- }
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (e.Row.IsAddRow) return;
- if (e.Row.Cells["originalValue"].Text.ToString2() == "")
- {
- e.Row.Cells["originalValue"].Appearance.BackColor = Color.Red;
- }
- if (e.Row.Cells["resultValue"].Text.ToString2() == "")
- {
- e.Row.Cells["resultValue"].Appearance.BackColor = Color.Red;
- }
- string type = e.Row.Cells["type"].Value.ToString2();
- var list = new ValueList();
- foreach (DataRow row in dtType2.AsEnumerable().Where(p => !string.IsNullOrWhiteSpace(type) && p["basecode"].ToString2().StartsWith(type)))
- {
- list.ValueListItems.Add(row["basecode"].ToString(), row["basename"].ToString());
- }
- e.Row.Cells["type2"].ValueList = list;
- string type2 = e.Row.Cells["type2"].Value.ToString2();
- var list2 = new ValueList();
- foreach (DataRow row in dtType3.AsEnumerable().Where(p => !string.IsNullOrWhiteSpace(type) && p["basecode"].ToString2().StartsWith(type2)))
- {
- list2.ValueListItems.Add(row["basecode"].ToString(), row["basename"].ToString());
- }
- e.Row.Cells["type3"].ValueList = list2;
- }
- private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
- {
- if (_languageCode != "/") e.Row.Cells["languageCode"].Value = _languageCode;
- if (_type != "/") e.Row.Cells["type"].Value = _type;
- var list = new ValueList();
- foreach (DataRow row in dtType2.AsEnumerable().Where(p => !string.IsNullOrWhiteSpace(_type) && p["basecode"].ToString2().StartsWith(_type)))
- {
- list.ValueListItems.Add(row["basecode"].ToString(), row["basename"].ToString());
- }
- e.Row.Cells["type2"].ValueList = list;
- if (_type2 != "/") e.Row.Cells["type2"].Value = _type2;
- var list2 = new ValueList();
- foreach (DataRow row in dtType3.AsEnumerable().Where(p => !string.IsNullOrWhiteSpace(_type2) && p["basecode"].ToString2().StartsWith(_type2)))
- {
- list2.ValueListItems.Add(row["basecode"].ToString(), row["basename"].ToString());
- }
- e.Row.Cells["type3"].ValueList = list2;
- if (_type3 != "/") e.Row.Cells["type3"].Value = _type3;
- }
- }
- }
|