스마트 클라이언트를 테스트중입니다.
dll 쪽은 Button.cs와 Grid.cs 2개의 사용자 정의 컨트롤을 만들었고 화면(aspx)에서 2개의 사용자 정의 컨트롤을 올렸습니다.
1. 사용자정의 컨트롤명 Grid.cs
dataGrid1 과 button1이 있습니다.
버튼1을 클릭시에 데이타가 그리드에 잘 올라옵니다.
private void button1_Click(object sender, System.EventArgs e)
{
string query1 = "select * from UserMenu";
ButtonToGrid.WebReference.TestService aaa = new ButtonToGrid.WebReference.TestService();
DataSet ds = aaa.GetDataSetQuery(query1);
DataTable dt = ds.Tables[0];
dataGrid1.DataSource = dt;
}
2. 같은 네임스페이스 안에 사용자 정의 컨트롤명 Button.cs 가 하나 더 있습니다.
button3이 올려져 있고 클릭 이벤트에 아래와 같이 작성하였습니다.
private void button3_Click(object sender, System.EventArgs e)
{
string query1 = "select * from UserMenu";
ButtonToGrid.WebReference.TestService aaa = new ButtonToGrid.WebReference.TestService();
DataSet ds = aaa.GetDataSetQuery(query1);
DataTable dt = ds.Tables[0];
MessageBox.Show(dt.Rows.Count.ToString());
Grid grd = new Grid();
grd.dataGrid1.DataSource = dt;
}
3. aspx 화면에는 아래 내용을 추가해였습니다.
<TABLE height="100%" width="100%" border=0>
<TR>
<TD height=50>
<OBJECT id="ButtonToGrid1" height="100%" width="100%" classid="http:ButtonToGrid.dll#ButtonToGrid.Button" VIEWASTEXT>
</OBJECT>
</TD>
</TR>
<TR>
<TD>
<OBJECT id="ButtonToGrid2" height="100%" width="100%" classid="http:ButtonToGrid.dll#ButtonToGrid.Grid" VIEWASTEXT>
</OBJECT>
</TD>
</TR>
</TABLE>
1번은 클릭시 Grid.cs에 있는 버튼에서 Grid.cs에 있는 dataGrid1에 데이타가 잘 올라옵니다.
하지만 2번은 다른 사용자정의 컨트롤인 Button.cs 에서 Grid.cs에 있는 그리드에 데이타를 담을려고 합니다.
위와 같이 new 인자를 생성하여 데이타를 올릴수가 없습니까?
Grid grd = new Grid();
grd.dataGrid1.DataSource = dt;
여러 고수님들의 조언 부탁드립니다.
화면 이미지 첨부하였습니다.
[최초 등록일: ]
[최종 수정일: 12/23/2006]