C# DB 코딩 강좌 2008. 11. 14. 21:36

    폼 셋팅의 클래스를 살펴보자.

    이녀석은 앞서 이야기 했듯이 리플랙션을 이용해서 폼의 컨트롤을 가져와서 foreach로 돌리는것에 불과하다.

    나머지는 아래 다른 강좌에 적은것의 활용이다.

    clip_image001

    clip_image002

    데브의 폼의 한계로 인해서 오른쪽으로 더 큰 그림이 들어가면 글자가 깨지므로 아래에 소스를 첨부한다.

    class FormSetting

    {

    Form _Form;

    IDataBase DB;

    public FormSetting(Form FormRef)

    {

    _Form = FormRef;

    DB = new setDBExcel(@"c:\test.xls");

    }

    public void AutoSetting()

    {

    FieldInfo[] controlA = _Form.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic);

    foreach (FieldInfo ctl in controlA)

                {

    if (ctl.GetValue(_Form) is TreeView) setTreeView((TreeView) ctl.GetValue(_Form));

    if (ctl.GetValue(_Form) is ListView) setListView((ListView)ctl.GetValue(_Form));

    if (ctl.GetValue(_Form) is ComboBox) setComboBox((ComboBox)ctl.GetValue(_Form));

    if (ctl.GetValue(_Form) is DataGridView) setGridView((DataGridView)ctl.GetValue(_Form));

    }

            }

    private void setListView(ListView ctl)

    {

    }

    private void setGridView(DataGridView ctl)

            {

    string TagID = (string)ctl.Tag;

    if (TagID != "")

    {

    ctl.DataSource = DB.callSQL("select * from [combo$] where comboid = '" + TagID + "'").Tables[0];

                }

    }

    private void setComboBox(ComboBox ctl)

    {

                string TagID = (string)ctl.Tag;

    if (TagID != "")

                {

    DataTable DT = DB.callSQL("select * from [combo$] where comboid = '" + TagID + "'").Tables[0];

    ctl.DataSource = DT;

    ctl.DisplayMember = DT.Columns["Expression"].ToString();

    ctl.ValueMember = DT.Columns["value"].ToString();

    }

    }

    private void setTreeView(TreeView ctl)

    {

                string TagID = (string)ctl.Tag;

    if (TagID != "")

                {

    DataTable DT = DB.callSQL("select * from [treeview$] where treeviewID = '" + TagID + "'").Tables[0];

                    ctl.Nodes.Add(DT.Rows[0]["Expression"].ToString());

    new setTreeView(ctl, DT);

    }

    }

    }

    //---------------------------------------------------------------------------

    데이타는 DB를 사용하기에는 교정이 귀찮음으로 인해서 가볍게 엑셀을 사용했다.

    clip_image003

    clip_image004

    앞서 설명한 엑셀 DB클래스를 이용해서 처리했다.

    각 컨트롤에는 바인딩에 필요한.. TAG를 적어야 하는데

    그것이야.. 알아서 하면 될것이다.

    clip_image005

    원본 위치 <http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=18&MAEULNO=8&no=1595&page=1>

'C# DB 코딩 강좌' 카테고리의 다른 글

C#을 이용한 DB코딩 20  (0) 2008.11.14
C#을 이용한 DB코딩 19  (0) 2008.11.14
C#을 이용한 DB코딩 18  (0) 2008.11.14
C#을 이용한 DB코딩 17  (0) 2008.11.14
C#을 이용한 DB코딩 16(실습파일포함)  (0) 2008.11.14
C#을 이용한 DB코딩 14  (0) 2008.11.14
C#을 이용한 DB코딩 13  (0) 2008.11.14
C#을 이용한 DB코딩 12  (0) 2008.11.14
C#을 이용한 DB코딩 11  (0) 2008.11.14
C#을 이용한 DB코딩 10  (0) 2008.11.14
posted by 삶의여유로움
: