using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WindowsFormsApp1.Mac; using WindowsFormsApp1; namespace UniMarc.마크 { public partial class Marc_Plan_PrintLabel : Form { Marc_Plan mp; Helper_DB db = new Helper_DB(); public Marc_Plan_PrintLabel(Marc_Plan _mp) { InitializeComponent(); mp = _mp; } private void Marc_Plan_PrintLabel_Load(object sender, EventArgs e) { db.DBcon(); String_Text st = new String_Text(); // string[] Font = { "굴림", "굴림체", "돋움", "바탕체", "맑은 고딕", "HY강B", "HY강M" }; // cb_TextFont.Items.AddRange(Font); cb_TextFont.Items.AddRange(st.callMyFont()); SearchList(); } private void tb_Search_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) SearchList(); } #region Search /// /// 검색값을 토대로 DB에서 목록을 불러옴 /// private void SearchList() { dataGridView1.Rows.Clear(); string Text = tb_Search.Text; string Area = "`idx`, `name`, `user`"; string Tabel = "PrintLabel"; string compidx = Properties.Settings.Default.compidx; string cmd = string.Format( "SELECT {0} " + "FROM {1} " + "WHERE `compidx` = \"{2}\" AND `name` LIKE \"%{3}%\";", Area, Tabel, compidx, Text); string res = db.self_Made_Cmd(cmd); InputGrid(res); } /// /// Grid에 검색값을 표출 /// /// private void InputGrid(string DB_Data) { string[] SplitData = DB_Data.Split('|'); string[] Grid = { "", "", "" }; for (int a = 0; a < SplitData.Length; a++) { if (a % 3 == 0) Grid[0] = SplitData[a]; if (a % 3 == 1) Grid[1] = SplitData[a]; if (a % 3 == 2) { Grid[2] = SplitData[a]; dataGridView1.Rows.Add(Grid); } } } #endregion private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { int row = e.RowIndex; string Area = "`left`, `top`, `width`, `height`, `garogap`, " + "`serogap`, `garocount`, `serocount`, `vol`, `count`, " + "`textfont`, `fontsize`"; string Table = "PrintLabel"; string idx = dataGridView1.Rows[row].Cells["idx"].Value.ToString(); string cmd = string.Format("SELECT {0} FROM {1} WHERE `idx` = {2}", Area, Table, idx); string res = db.self_Made_Cmd(cmd); InputText(row, res); } #region CellClick_Sub private void InputText(int row, string DB_Data) { string[] SplitData = DB_Data.Split('|'); tb_ListName.Text = dataGridView1.Rows[row].Cells["name"].Value.ToString(); TextBox[] tb = { tb_Left, tb_Top, tb_Width, tb_Height, tb_GaroGap, tb_SeroGap, tb_Garo, tb_Sero }; int count = 0; foreach (string Data in SplitData) { if (Data == "") continue; if (count == 8) { if (Data == "0") chk_V.Checked = false; else chk_V.Checked = true; } else if (count == 9) { if (Data == "0") chk_C.Checked = false; else chk_C.Checked = true; } else if (count == 10) { cb_TextFont.SelectedItem = Data; } else if (count == 11) { tb_TextSize.Text = Data; } else if (tb.Length > count) { tb[count].Text = Data; } count++; } } #endregion private void btn_Apply_Click(object sender, EventArgs e) { // 적용 TextBox[] Box = { tb_Left, tb_Top, tb_Width, tb_Height, tb_GaroGap, tb_SeroGap, tb_Garo, tb_Sero, tb_TextSize }; string Font = cb_TextFont.SelectedItem.ToString(); bool[] ChkByC_V = { chk_C.Checked, chk_V.Checked }; mp.BringPringLabel(Box, Font, ChkByC_V); } private void btn_Empty_Click(object sender, EventArgs e) { TextBox[] tb = { tb_Left, tb_Top, tb_Width, tb_Height, tb_GaroGap, tb_SeroGap, tb_Garo, tb_Sero, tb_TextSize }; foreach (TextBox Box in tb) { Box.Text = ""; } chk_C.Checked = false; chk_V.Checked = false; } private void btn_Delete_Click(object sender, EventArgs e) { // 삭제 string listName = tb_ListName.Text; if (listName == "") return; int row = -1; if (dataGridView1.CurrentRow != null) row = dataGridView1.CurrentCell.RowIndex; else if (row > 0) return; string idx = dataGridView1.Rows[row].Cells["idx"].Value.ToString(); string cmd = string.Format("DELETE FROM `PrintLabel` WHERE `idx` = {0}", idx); db.DB_Send_CMD_reVoid(cmd); dataGridView1.Rows.Remove(dataGridView1.Rows[row]); } private void btn_Save_Click(object sender, EventArgs e) { // 저장 string listName = tb_ListName.Text; if (listName == "") return; int row = -1; if (dataGridView1.CurrentRow != null) row = dataGridView1.CurrentCell.RowIndex; else if (row > 0) return; string User = Properties.Settings.Default.User; string compidx = Properties.Settings.Default.compidx; string CopyCheckCMD = string.Format( "SELECT * " + "FROM `PrintLabel` " + "WHERE `name` = \"{0}\" AND `compidx` = \"{1}\";", listName, compidx); string CopyCehck = db.DB_Send_CMD_Search(CopyCheckCMD); bool isCopy = false; if (CopyCehck.Length > 0) isCopy = true; if (isCopy) // 중복 데이터가 있을 경우 { string idx = dataGridView1.Rows[row].Cells["idx"].Value.ToString(); string[] editCol = { "left", "top", "width", "height", "garogap", "serogap", "garocount", "serocount", "vol", "count", "textfont", "fontsize" }; string[] editData = { tb_Left.Text, tb_Top.Text, tb_Width.Text, tb_Height.Text, tb_GaroGap.Text, tb_SeroGap.Text, tb_Garo.Text, tb_Sero.Text, ConvertBool(chk_V.Checked), ConvertBool(chk_C.Checked), cb_TextFont.SelectedItem.ToString(), tb_TextSize.Text }; string[] SearchCol = { "idx", "compidx" }; string[] SearchData = { idx, compidx }; string U_cmd = db.More_Update("PrintLabel", editCol, editData, SearchCol, SearchData); db.DB_Send_CMD_reVoid(U_cmd); MessageBox.Show(tb_ListName.Text + "가 성공적으로 수정되었습니다!", "수정완료"); } else { string[] InsertCol = { "compidx", "name", "user", "left", "top", "width", "height", "garogap", "serogap", "garocount", "serocount", "vol", "count", "textfont", "fontsize" }; string[] InsertData = { compidx, listName, User, tb_Left.Text, tb_Top.Text, tb_Width.Text, tb_Height.Text, tb_GaroGap.Text, tb_SeroGap.Text, tb_Garo.Text, tb_Sero.Text, ConvertBool(chk_V.Checked), ConvertBool(chk_C.Checked), cb_TextFont.SelectedItem.ToString(), tb_TextSize.Text }; string Incmd = db.DB_INSERT("PrintLabel", InsertCol, InsertData); db.DB_Send_CMD_reVoid(Incmd); MessageBox.Show(tb_ListName.Text + "가 성공적으로 저장되었습니다!", "저장완료"); } } #region Save_Sub string ConvertBool(bool Check) { if (Check) return "0"; else return "1"; } #endregion private void btn_Close_Click(object sender, EventArgs e) { this.Close(); } private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { Skill_Grid sg = new Skill_Grid(); sg.Print_Grid_Num(sender, e); } } }