ID가 "gvMain"이라는 GridView가 있고 그 안에 ID가 "ddl"이라는 DropDownList가 있을때
DataTable로 가져온 데이터를 우선 gvMain에 바인딩 시켜준다.
DataTable dtMain = New Datatable(); // -> 이 데이터 테이블은 Class Level단의 데이터테이블이다.
...
...
gvMain.DataSource = dtMain;
gvMain.DataBind();
그런 다음 GridView의 DataRowBound 이벤트때 FindControl로 DropDownList를 찾아
DorpDownList에 데이터를 바인딩 시켜주면 된다.
(DataRowBound이벤트는 GridView가 Row를 바인딩 시킬때 마다 발생하는 이벤트이다.)
protected void gvMain_RowDataBound(object sender, GridViewRowEventArgs e)
{
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList gvddl = (DropDownList)e.Row.FindControl("ddl");
{
DropDownList gvddl = (DropDownList)e.Row.FindControl("ddl");
// * gvddl은 GridView안의 DropDownList를 찾아 새롭게
// 이름을 준것()
// * Findcontrol뒤의 ddl이라는 것은 GridView안에 있는 DropDownList의 ID..
// 이 ID로 DorpDownList를 찾아내는 것이다.
gvddl.DataSource = dtMain;
gvddl.DataTextField = "Column0";
gvddl.DataValueField = "Column1"; // -> Column0과 Column1은 dtMain의 컬럼명을 써준다.
gvddl.DataBind();
gvddl.DataTextField = "Column0";
gvddl.DataValueField = "Column1"; // -> Column0과 Column1은 dtMain의 컬럼명을 써준다.
gvddl.DataBind();
}
}
FindControl로 GridView 안에 ddl이라는 DropDownList를 찾는데 이것이 DropDownList라는 타입이고 새로 gvddl이라고 부르겠다.
그리고 gvddl이라는 이름으로 데이터를 바인딩 시켜주는데 위에서 Class level단의 데이터 테이블로 가져온 데이터를 이용하여 DropDownList의 DataTextField에는 Column0이라는 컬럼을 바인딩 시켜주고 DataValueField에는 Column1이라는 컬럼을 바인딩 시켜주겠다는 것이다.
'Programming > ASP.NET' 카테고리의 다른 글
[스크랩] HttpCookie 클래스 사용 하기 (0) | 2010.04.05 |
---|---|
[스크랩] 간단한 쿠키(Cookie) 예제 (0) | 2010.04.05 |
[스크랩] ASP.NET 개발자가 항상 수행해야 하는 작업 (0) | 2010.03.29 |
[스크랩] 동적컨트롤 추가하기 2 (0) | 2010.03.26 |
[스크랩] 동적컨트롤 추가하기 1 (0) | 2010.03.26 |
[스크랩] javascript배열 => cs (0) | 2010.03.26 |
[스크랩] cs=>javascript 배열만들기 (0) | 2010.03.26 |
[스크랩] UserControl , Page, MasterPage 사이 컨트롤 접근하기 (0) | 2010.03.26 |
[스크랩] GridView 에 페이징 등록하기 (0) | 2010.03.25 |
동적테이블 생성하기 (0) | 2010.03.15 |