바인딩네비게이터와 프로퍼티그리드 연결
이전에 데이타 바인딩 네비게이터를 이용한 소스에서
프로퍼티 그리드를 추가 해보았음.
프로퍼티 그리드에 직접적인 바인딩 후 포지션 변경은 조금 에러가 떨어지다보니
찾은 방법(노가다)이 바인딩 객체를 이용하는것이었음.
DataTable에 DB에서 가져온 데이타를 프로퍼티 그리드에서 변환 없이 볼수 있게됨.
근데 이걸 어따 써먹쥐?!!!
소스는 아래와 같음.
private void Form1_Load(object sender, EventArgs e)
{
// TODO: 이 코드는 데이터를 'catholic_artDataSet.ITEM' 테이블에 로드합니다. 필요한 경우 이 코드를 이동하거나 제거할 수 있습니다.
SqlConnection sql = new SqlConnection(" ... ");
SqlCommand scmd = sql.CreateCommand();
scmd.CommandText = "select * from Item(Nolock)";
sql.Open();
DataTable dt = new DataTable();
dt.Load(scmd.ExecuteReader( CommandBehavior.SequentialAccess ));
sql.Close();
this.bindingSource1.DataSource = dt;
this.bindingNavigator1.BindingSource = this.bindingSource1;
this.textBox1.DataBindings.Add("Text", this.bindingSource1, "ICODE", true);
this.textBox2.DataBindings.Add("Text", this.bindingSource1, "KNAME", true);
Binding b = new Binding("SelectedObject", bindingSource1,"", true, DataSourceUpdateMode.OnPropertyChanged);
propertyGrid1.DataBindings.Add(b);
}
private void button1_Click(object sender, EventArgs e)
{
propertyGrid1.BindingContext[bindingSource1].Position--;
}
private void button2_Click(object sender, EventArgs e)
{
propertyGrid1.BindingContext[bindingSource1].Position++;
}
PS :
데이타 그리드뷰를 붙여봤는데
이때 데이타 그리드 뷰와 프로퍼티 그리드가 같이 적용되는것을 확인하였다.
전에 프로젝트를 만들때 그리드뷰에 선택된 행을 동적 클래스로 바꾸어 프로퍼티그리드에 넣었던 일들이
지금엔 삽질처럼 느껴졌다.
'# 2) .Net ( Vs 2005 ) > WinForm' 카테고리의 다른 글
TextBox에 드래그앤드랍 구현하기.! (0) | 2009.08.20 |
---|---|
ErrorProvider 라는게 있음. (0) | 2009.08.18 |
바인딩 네비게이터 (0) | 2009.08.14 |
WaitCursor ... (0) | 2009.08.14 |
데이타 그리드 뷰 헤더 이용하기. (2) | 2009.08.06 |