JsFW20.Win 일부 기능 소개( 그리드뷰 , 디버그폼 )
DB Select했던것을 좀더 추가해서 구성한다.
목적 : DebugForm활용법.
GridView 바인딩 및 표시설정 방법
UniList 소개.
디버그 활성화!
JsFW.DEBUG.DebugQueryForm.SetDebugAuthority();
디버그 비즈 등록
base.ShowDebugWindow(tb, this); // 디버그 창에 호출전 디버그 등록!
끝... 넘 쉬운가?
디버그 창 뜬모습을 볼까낭
디버그 윈폼에 보면 사용한 쿼리 와 우측엔 파라미터가 나온다.
아래는 해당 쿼리와 파라미터로 결과를 다시 쿼리 할수 있다.
파라미터를 사용시.. 쿼리 합성을 통해 쿼리를 파라미터와 치환도 가능하다.
또. 쿼리할때마다 쌓인다!
그리드 뷰
기본 그리드 뷰를 래핑한클래스로 프레임웍 내 표준 데이타 UniList로 데이타 I/O를 적용한 것임.
아래 보면 데이타 바인딩을 하고
컬럼을 지정해서 변경할수 있다.
DataSet ds = tb.List(null);
gridView1.Bind(ds.Tables[0]);
using (JsFW.Win.Controls.GridView_ColumnAtt att = new GridView_ColumnAtt())
{
att.Add(new GridView_ColumnInfo("object_id", "ID", 100f, DataGridViewContentAlignment.MiddleCenter));
att.Add(new GridView_ColumnInfo("name", "프로시져명", 400f, DataGridViewContentAlignment.MiddleCenter));
att.Setting( gridView1.SetColumnAtt ); // 대리자 등록.
gridView1.SetConfig(true, true);
}
gridView1.SetConfig(true, true); // 그리드 읽기전용, Numbering
** 체크박스가 추가된 그리드, 그리드 두개짜리를 TwoGridView 가 존재한다 ( 추후에.. )
선택된 Row데이타 뽑기
UniList selectData = gridView1.DataParameters;
Alert( selectData.ToString("@name") );
selectData.Clear();
selectData = null;
** @name은 데이타의 Key로써 쿼리 파라미터로 바로 변환 되도록 정한 규칙이다.
전체 소스!!
public partial class Form1 : BaseForm
{
Table_1 tb = new Table_1();
public Form1()
{
InitializeComponent();
this.NotifyIcon = Resources.Icon1;
this.NotifyIcon_Visible = true;
this.NotifyIcon_Menu = new ContextMenu();
this.NotifyIcon_Menu.MenuItems.Add(new MenuItem("종료하기", delegate { this.Close(); }));
JsFW.DEBUG.DebugQueryForm.SetDebugAuthority();
gridView1.UniGriView_Click_Delegage += new UniGridView_Click(gridView1_UniGriView_Click_Delegage);
}
void gridView1_UniGriView_Click_Delegage()
{
// 그리드 클릭시..
UniList selectData = gridView1.DataParameters;
Alert( selectData.ToString("@name") );
selectData.Clear();
selectData = null;
}
private void button1_Click(object sender, EventArgs e)
{
Alert("하이! ", 10);
}
protected override void OnUniButton_Click(object sender, JsFW_ButtonEventArgs e)
{
base.OnUniButton_Click(sender, e);
switch (e.Code)
{
case Button_Codes.등록: break;
case Button_Codes.닫기: break;
case Button_Codes.Special :
switch (e.Special)
{
case Button_Codes_Special.SpecialBtn1: break;
case Button_Codes_Special.없다: break;
}
break;
}
}
private void button2_Click(object sender, EventArgs e)
{
base.ShowDebugWindow(tb, this); // 디버그 창에 호출전 디버그 등록!
DataSet ds = tb.List(null);
gridView1.Bind(ds.Tables[0]);
using (JsFW.Win.Controls.GridView_ColumnAtt att = new GridView_ColumnAtt())
{
att.Add(new GridView_ColumnInfo("object_id", "ID", 100f, DataGridViewContentAlignment.MiddleCenter));
att.Add(new GridView_ColumnInfo("name", "프로시져명", 400f, DataGridViewContentAlignment.MiddleCenter));
att.Setting( gridView1.SetColumnAtt ); // 대리자 등록.
gridView1.SetConfig(true, true);
}
}
}
public class Table_1 : JsFW.ADONET.DataBase_Business
{
public override DataSet List(JsFW.BasicObjects.IUniDataParameter iDataPrms)
{
return ExcuteDataSet("Select * From sys.procedures", CommandType.Text, new System.Data.SqlClient.SqlParameter[0]);
}
}
'# 9) My Program(.NET) > JsFW20' 카테고리의 다른 글
JsFW20 에 로그 남기기... (0) | 2010.05.28 |
---|---|
JsFW20.ADONET ( new 버젼 ) 2010 0527 (0) | 2010.05.27 |
JSFw20.Win.Controls에 BaseForm이용하기.. (0) | 2010.05.26 |
JsFW20.XML 을 이용한 예제 2 (0) | 2010.05.24 |
JsFW20.XML을 이용한 예제. (0) | 2010.05.24 |