// パートタイマーロード public static void loadPart(ComboBox tempObj, string dbName) { try { ComboShain cmb1; string sqlSTRING = string.Empty; dbControl.DataControl dCon = new dbControl.DataControl(dbName); OleDbDataReader dR; sqlSTRING += "select Bumon.Code as bumoncode,Bumon.Name as bumonname,Shain.Id as shainid,"; sqlSTRING += "Shain.Code as shaincode,Shain.Sei,Shain.Mei, Shain.YakushokuType "; sqlSTRING += "from Shain left join Bumon "; sqlSTRING += "on Shain.BumonId = Bumon.Id "; sqlSTRING += "where Shurojokyo = 1 and YakushokuType = 1 "; sqlSTRING += "order by Shain.Code"; //sqlSTRING += "select Id,Code, Sei, Mei, YakushokuType from Shain "; //sqlSTRING += "where Shurojokyo = 1 and YakushokuType = 1 "; //sqlSTRING += "order by Code"; //データリーダーを取得する dR = dCon.FreeReader(sqlSTRING); tempObj.Items.Clear(); tempObj.DisplayMember = "DisplayName"; tempObj.ValueMember = "code"; while (dR.Read()) { cmb1 = new ComboShain(); cmb1.ID = int.Parse(dR["shainid"].ToString()); cmb1.DisplayName = dR["shaincode"].ToString().Trim() + " " + dR["Sei"].ToString().Trim() + " " + dR["Mei"].ToString().Trim(); cmb1.Name = dR["Sei"].ToString().Trim() + " " + dR["Mei"].ToString().Trim(); cmb1.code = (dR["shaincode"].ToString() + "").Trim(); cmb1.YakushokuType = int.Parse(dR["YakushokuType"].ToString()); cmb1.BumonCode = dR["bumoncode"].ToString().PadLeft(3, '0'); cmb1.BumonName = dR["bumonname"].ToString(); tempObj.Items.Add(cmb1); } dR.Close(); dCon.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "社員コンボボックスロード"); } }
///------------------------------------------------------------------------ /// <summary> /// CSV社員マスターコンボボックスロード </summary> /// <param name="fName"> /// CSVファイル名</param> /// <param name="tempObj"> /// コンボボックス</param> /// <param name="szStatus"> /// 0:部門情報含めない、1:部門情報含める</param> ///------------------------------------------------------------------------ public static void csvArrayLoad(string fName, ComboBox tempObj, int szStatus) { string sAppPath = System.AppDomain.CurrentDomain.BaseDirectory; int iX = 0; System.Collections.ArrayList al = new System.Collections.ArrayList(); string[] bArray = null; try { // 社員名簿CSV読み込み bArray = System.IO.File.ReadAllLines(fName, Encoding.Default); foreach (var t in bArray) { string[] d = t.Split(','); if (d.Length < 5) { continue; } string bn = d[1].PadLeft(5, '0') + "," + d[0] + ""; if (szStatus == global.flgOn) { // 組織コード int bCode = Utility.StrtoInt(d[3]); // 組織名称 string bName = Utility.NulltoStr(d[2]).Trim(); bn += "," + bCode.ToString() + "," + (bName + ""); } al.Add(bn); } } catch (Exception e) { MessageBox.Show(e.Message, "CSV社員マスター読み込み", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { } ComboShain cmb1; tempObj.Items.Clear(); tempObj.DisplayMember = "DisplayName"; tempObj.ValueMember = "code"; // 配列をソートします al.Sort(); string alCode = string.Empty; foreach (var item in al) { string[] d = item.ToString().Split(','); // 重複社員はネグる if (alCode != string.Empty && alCode.Substring(0, 5) == d[0]) { continue; } // コンボボックスにセット cmb1 = new ComboShain(); cmb1.ID = 0; cmb1.DisplayName = item.ToString().Replace(',', ' '); string[] cn = item.ToString().Split(','); cmb1.Name = cn[1] + ""; cmb1.code = cn[0] + ""; if (szStatus == global.flgOn) { cmb1.BumonCode = cn[2] + ""; cmb1.BumonName = cn[3] + ""; } tempObj.Items.Add(cmb1); alCode = item.ToString(); } }
///------------------------------------------------------------------------ /// <summary> /// 常陽コンピュータサービスエクセル社員マスターコンボボックスロード </summary> /// <param name="fName"> /// エクセルファイル名</param> /// <param name="sheetNum"> /// シート名</param> /// <param name="tempObj"> /// コンボボックス</param> /// <param name="szStatus"> /// 0:部門情報含めない、1:部門情報含める</param> ///------------------------------------------------------------------------ public static void xlsArrayLoad(string fName, string sheetNum, ComboBox tempObj, int szStatus) { string sAppPath = System.AppDomain.CurrentDomain.BaseDirectory; Excel.Application oXls = new Excel.Application(); Excel.Workbook oXlsBook = (Excel.Workbook)(oXls.Workbooks.Open(fName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing)); Excel.Worksheet oxlsSheet = (Excel.Worksheet)oXlsBook.Sheets[sheetNum]; Excel.Range dRg; Excel.Range[] rng = new Microsoft.Office.Interop.Excel.Range[2]; const int C_BCODE = 7; const int C_BNAME = 8; const int C_SCODE = 11; const int C_SEI = 24; const int C_MEI = 25; int iX = 0; System.Collections.ArrayList al = new System.Collections.ArrayList(); try { int frmRow = 21; // 開始行 int toRow = oxlsSheet.UsedRange.Rows.Count; for (int i = frmRow; i <= toRow; i++) { // 社員番号 dRg = (Excel.Range)oxlsSheet.Cells[i, C_SCODE]; // 社員番号に有効値があること string sc = dRg.Text.ToString().Trim(); if (Utility.StrtoInt(sc) == 0) { continue; } // 社員姓 dRg = (Excel.Range)oxlsSheet.Cells[i, C_SEI]; string sei = dRg.Text.ToString().Trim(); // 社員名 dRg = (Excel.Range)oxlsSheet.Cells[i, C_MEI]; string mei = dRg.Text.ToString().Trim(); string bn = sc.ToString().PadLeft(5, '0') + "," + (sei + " " + mei) + ""; if (szStatus == global.flgOn) { // 組織コード dRg = (Excel.Range)oxlsSheet.Cells[i, C_BCODE]; int bCode = Utility.StrtoInt(dRg.Text.ToString().Trim()); // 組織名称 dRg = (Excel.Range)oxlsSheet.Cells[i, C_BNAME]; string bName = dRg.Text.ToString().Trim(); bn += "," + bCode.ToString() + "," + (bName + ""); } al.Add(bn); iX++; } } catch (Exception e) { MessageBox.Show(e.Message, "エクセル社員マスター読み込み", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { // ウィンドウを非表示にする oXls.Visible = false; // 保存処理 oXls.DisplayAlerts = false; // Bookをクローズ oXlsBook.Close(Type.Missing, Type.Missing, Type.Missing); // Excelを終了 oXls.Quit(); // COM オブジェクトの参照カウントを解放する System.Runtime.InteropServices.Marshal.ReleaseComObject(oxlsSheet); System.Runtime.InteropServices.Marshal.ReleaseComObject(oXlsBook); System.Runtime.InteropServices.Marshal.ReleaseComObject(oXls); oXls = null; oXlsBook = null; oxlsSheet = null; GC.Collect(); } ComboShain cmb1; tempObj.Items.Clear(); tempObj.DisplayMember = "DisplayName"; tempObj.ValueMember = "code"; // 配列をソートします al.Sort(); string alCode = string.Empty; foreach (var item in al) { string[] d = item.ToString().Split(','); // 重複社員はネグる if (alCode != string.Empty && alCode.Substring(0, 5) == d[0]) { continue; } // コンボボックスにセット cmb1 = new ComboShain(); cmb1.ID = 0; cmb1.DisplayName = item.ToString().Replace(',', ' '); string[] cn = item.ToString().Split(','); cmb1.Name = cn[1] + ""; cmb1.code = cn[0] + ""; if (szStatus == global.flgOn) { cmb1.BumonCode = cn[2] + ""; cmb1.BumonName = cn[3] + ""; } tempObj.Items.Add(cmb1); alCode = item.ToString(); } }
///---------------------------------------------------------------- /// <summary> /// CSVデータから社員コンボボックスにロードする </summary> /// <param name="tempObj"> /// コンボボックスオブジェクト</param> /// <param name="fName"> /// CSVデータファイルパス</param> ///---------------------------------------------------------------- public static void loadCsv(ComboBox tempObj, string fName) { string[] bArray = null; try { ComboShain cmb1; tempObj.Items.Clear(); tempObj.DisplayMember = "DisplayName"; tempObj.ValueMember = "code"; // 社員名簿CSV読み込み bArray = System.IO.File.ReadAllLines(fName, Encoding.Default); System.Collections.ArrayList al = new System.Collections.ArrayList(); foreach (var t in bArray) { string[] d = t.Split(','); if (d.Length < 5) { continue; } string bn = d[1].PadLeft(5, '0') + "," + d[0] + ""; al.Add(bn); } // 配列をソートします al.Sort(); string alCode = string.Empty; foreach (var item in al) { string[] d = item.ToString().Split(','); // 重複社員はネグる if (alCode != string.Empty && alCode.Substring(0, 5) == d[0]) { continue; } // コンボボックスにセット cmb1 = new ComboShain(); cmb1.ID = 0; cmb1.DisplayName = item.ToString().Replace(',', ' '); string[] cn = item.ToString().Split(','); cmb1.Name = cn[1] + ""; cmb1.code = cn[0] + ""; tempObj.Items.Add(cmb1); alCode = item.ToString(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "社員コンボボックスロード"); } }