Microsoft MVP성태의 닷넷 이야기
글쓴 사람
오택성 (alttul at empal.com)
홈페이지
첨부 파일
[test.bmp]    

스마트 클라이언트를 테스트중입니다.

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]


비밀번호

댓글 작성자
 



2006-12-23 11시52분
[신동열] 이벤트 사용하시면 될듯... 넘기는 컨트롤에서 이벤트 발생시키고 이를 자바 스크립트로 받아서 받는 컨트롤에 값을 넘겨주면(이건 속성으로) 됩니다. 단 이벤트 발생시키는 컨트롤이 있는 프로젝트는 프로젝트 속성에서 com 호환성 체크 하셔야 합니다.
[guest]
2006-12-26 10시13분
위의 "신동열"님 말씀데로 하시면 될 것 같습니다. 사실 이런 경우는,,, 말 그대로 "임의 재량"으로 구현하시면 됩니다.

일례로, ButtonToGrid1 개체에 DataGrid 라는 속성을 만들어 놓고 Grid 개체에 대한 인스턴스를 넣어두어도 무방할테고요.
kevin25

NoWriterDateCnt.TitleFile(s)