182 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			182 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.ComponentModel;
 | |
| using System.Data;
 | |
| using System.Drawing;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| namespace FPM0000
 | |
| {
 | |
|     public partial class fSPMaster :FCOMMON.fBase
 | |
|     {
 | |
|         int idx = -1;
 | |
|         public fSPMaster()
 | |
|         {
 | |
|             InitializeComponent();
 | |
|             this.dsMSSQL.SPMaster.TableNewRow += minutes_TableNewRow;
 | |
|         }
 | |
| 
 | |
|         void minutes_TableNewRow(object sender, DataTableNewRowEventArgs e)
 | |
|         {
 | |
|             //e.Row["wuid"] = FCOMMON.info.Login.no;
 | |
|             //e.Row["wdate"] = DateTime.Now;
 | |
|             //e.Row["stime"] = DateTime.Now;
 | |
|             //e.Row["etime"] = DateTime.Now.AddHours(1);
 | |
|             //e.Row["title"] = "Subject";
 | |
|         }
 | |
| 
 | |
|         private void __Load(object sender, EventArgs e)
 | |
|         {
 | |
|             this.Show();
 | |
|             Application.DoEvents();
 | |
|             refreshDivision();
 | |
|         }
 | |
|         void refreshData(string div)
 | |
|         {
 | |
|             
 | |
|             //refresh data
 | |
|            
 | |
|           //  this.dv1.AutoResizeColumns();
 | |
|         }
 | |
|         void refreshDivision()
 | |
|         {
 | |
|             //모든 디비젼을 가져와서 우측을 다시 생성한다
 | |
|             var taDiv = new DSMssqlTableAdapters.DivListTableAdapter();
 | |
|             var dt = taDiv.GetData();
 | |
| 
 | |
|             this.listView1.Items.Clear();
 | |
|             
 | |
|             var bta  = this.listView1.Items.Add( "전체보기");
 | |
|             bta.BackColor = Color.HotPink;
 | |
|             bta.Tag = "";
 | |
| 
 | |
|             foreach(DSMssql.DivListRow dr in dt.Rows)
 | |
|             {
 | |
|                 var bt = this.listView1.Items.Add(dr.Division);
 | |
|                 bt.Tag = dr.Division;
 | |
|             }
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void listView1_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             //지정된 Division을 필터링한다
 | |
|             if (listView1.FocusedItem == null) return;
 | |
| 
 | |
|             ListViewItem bt = this.listView1.FocusedItem ;
 | |
|             if (bt.Tag.ToString() == "")
 | |
|             {
 | |
|                 var dlg = Util.MsgQ("전체 보기는 데이터 통신량과 시간이 오래 소요됩니다\n" +
 | |
|                     "Division을 알고 있다면 아래 Division 목록을 먼저 선택하고 검색 하세요");
 | |
|                 if (dlg != DialogResult.Yes) return;
 | |
| 
 | |
|                 label2.Text = "전체보기";
 | |
|                 label2.Tag = "";
 | |
|                 this.ta.FillByAll(this.dsMSSQL.SPMaster);
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 label2.Text = bt.Text; 
 | |
|                 this.ta.Fill(this.dsMSSQL.SPMaster, bt.Tag.ToString());
 | |
|             }
 | |
| 
 | |
|             label2.Tag = bt.Tag;
 | |
|             tbFind.Focus();
 | |
|             tbFind.SelectAll();
 | |
|         }
 | |
|       
 | |
| 
 | |
|         private void autoColumnSizeToolStripMenuItem_Click(object sender, EventArgs e)
 | |
|         {
 | |
|           //  this.dv1.AutoResizeColumns();
 | |
|         }
 | |
| 
 | |
|         private void toolStripButton1_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             if(label2.Tag != null)
 | |
|             refreshData(label2.Tag.ToString());
 | |
|         }
 | |
| 
 | |
|         private void dv1_DoubleClick(object sender, EventArgs e)
 | |
|         {
 | |
|            
 | |
|         }
 | |
| 
 | |
|         private void bs_CurrentChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             idx = -1;
 | |
|             var drv = bs.Current as DataRowView;
 | |
|             if (drv == null) return;
 | |
|             var dr = drv.Row as DSMssql.SPMasterRow;//.minutesRow;
 | |
|             idx = dr.ID;
 | |
|         }
 | |
| 
 | |
|         private void toolStripButton2_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             try
 | |
|             {
 | |
|                 var cnt = this.ta.Update(this.dsMSSQL.SPMaster);
 | |
|             }
 | |
|             catch (Exception ex)
 | |
|             {
 | |
|                 FCOMMON.Util.MsgE(ex.Message);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void 목록새로고침ToolStripMenuItem_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             refreshDivision();
 | |
|         }
 | |
| 
 | |
|         void Find()
 | |
|         {
 | |
|             var txt = tbFind.Text.Trim();
 | |
|             if (txt == "")
 | |
|             {
 | |
|                 if(bs.Filter != "")
 | |
|                 {
 | |
|                     bs.Filter = "";
 | |
|                     tbFind.BackColor = Color.WhiteSmoke;
 | |
|                 }
 | |
|                 tbFind.Focus();
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             //검색어가 잇으므로 검색을 수행한다
 | |
|             var cols = new string[] { "SIDNo","Storage","Location",
 | |
|             "PartName","PartNo","Memo","CostCenter","Enrollee"};
 | |
|             string filter = "";
 | |
|             foreach(var col in cols)
 | |
|             {
 | |
|                 if (filter != "") filter += " or ";
 | |
|                 filter += col + " like '%"+ txt.Replace("'","''") +"%' ";
 | |
|             }
 | |
|             try
 | |
|             {
 | |
|                 this.bs.Filter = filter;
 | |
|                 tbFind.BackColor = Color.Lime;
 | |
|                 tbFind.SelectAll();
 | |
|             }catch (Exception ex)
 | |
|             {
 | |
|                 this.bs.Filter = "";
 | |
|                 tbFind.BackColor = Color.Red;
 | |
|                 Util.MsgE(ex.Message);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void button1_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             Find();
 | |
|         }
 | |
| 
 | |
|         private void tbFind_KeyDown(object sender, KeyEventArgs e)
 | |
|         {
 | |
|             if (e.KeyCode == Keys.Enter)
 | |
|                 Find();
 | |
|         }
 | |
| 
 | |
|     }
 | |
| }
 | 
