2012-06-19 5 views
0

나는 테이블 (실제로는 가입)에서 채워집니다 asp.net에서 그리드를 가지고있는 컬럼의 값을 변경, 이름을 표시하는 (A column 이름 EMPLOYEENAME 있습니다Asp.Net : gridview에

직원) 및 EMPLOYEEID가 (직원의 ID)를 보여주는라는 이름의 또 다른 컬럼의

이 두 열이 즉 직원 '톰'항상 직원 ID 말 '21'현재 내가

것이다 관련된

수정 드롭 다운 목록을 사용하여 직원 이름 열,

내가 자동으로 내가 해당 'TOM'에 직원 이름을 선택한 경우

즉 편집 직원 이름에 해당하는 직원 ID를 변경하는 코드가 필요 직원이 자동으로 '21'로 변경됩니다.

+1

ID 열은 무엇입니까? DropDownList입니까? 시나리오를 알 수 있도록 일부 코드를 공유하십시오. –

+0

ID 열은 읽기 전용 유형 요소입니다. – Snedden27

+2

따라서 드롭 다운 목록에서 선택한 인덱스 변경 이벤트를 처리하고 그에 따라 읽기 전용 요소를 채울 수 있습니다. –

답변

0

MSDN @Gridview sample code에서이 링크를 검토하십시오.

C#의 Gridview SelectedIndexChanged 이벤트와 XML/html 파일의 GridView 속성을 검토/연구합니다.

1

드롭 다운 목록을 사용하여 사원 이름을 변경할 때. 따라서 드롭 다운 목록에 autopostback = true를 설정하고 onSelectedIndexChanged 이벤트를 만들어이 작업을 수행 할 수 있습니다. 코드 페이지 쓰기 코드에

는 드롭 다운의 선택된 인덱스의 직원 ID를 가져오고 영문 페이지에서 그리드

에서이를 업데이트 :

코드에
AutoPastBack="true" OnSelectedIndexChanged="grid_selectedIndexchanged" 

페이지 뒤에 :

protected void grid_selectedIndexchanged(object sender, EventArgs e) 

{ /* 코드는 선택된 직원 */

에 대한 데이터베이스에서 데이터를 가져올 수

}

+0

나는이 일을하지만 그리드보기 안에 있기 때문에 드롭 다운의 ID를 얻는 것 같지 않습니다. 그래서 일단 변경되면 드롭 다운에서 값을 얻을 수 있습니까? – Snedden27

+0

드롭 다운에서 selectedindex change 이벤트는 해당 부분에 대한 다음 코드를 사용합니다. [ DropDownList ddl = (DropDownList) sender; GridViewRow gvr = (GridViewRow) ddl.NamingContainer; int rowIndex = gvr.RowIndex; ] 그리고 당신은 당신이 employeeid를 바꾸고 자하는 gridviewrow의 인덱스를 얻을 것이다. –

0

EMPLOYEEID를 ListItem의 값으로 설정할 수 있습니다. 이렇게하면 항목을 선택할 때 선택한 항목의 직원 이름과 employeeid가 생깁니다.

이 같은 데이터 바인딩에 의해 달성 될 수있다 :

ddlEmpNames.DataSource = employees; 
ddlEmpNames.DataTextField = "EMPLOYEENAME"; 
ddlEmpNames.DataValueField = "EMPLOYEEID"; 
ddlEmpNames.DataBind(); 

이 아마 이름에서 직원 ID를 찾아도 당신에게 다른 데이터베이스 호출을 저장합니다.

관련 문제