2009-11-17 6 views

답변

1

_AccessionType의 목록을 만들어 격자보기의 DataSource 속성에 할당해야합니다.

List<_AccessionType> accessionTypes= new List<_AccessionType>();  
// Add objects to the list 
gridView1.DataSource = accessionTypes; 
gridView1.DataBind(); 

gridView1의 디자이너에서> 열 편집을 클릭하고 바운드 열을 추가해야합니다. 각 바운드 열을 위해 적당한 HeaderText에 제공하고 데이터 필드에 _AccessionType의 필요한 구성원 속성 (예를 들어, DocUrl)

당신은 다시 목록 < _AccessionType에 gridView.DataSource에서 개체를 검색 할 수 없습니다> 심지어 GridViewRow에서 _AccessionType에 할당합니다. 그리드 뷰 행의 값을 다시 얻으려면 그리드 뷰에서 데이터 키를 다시 검색해야하는 값으로 정의해야합니다.

foreach (GridViewRow accessionRow in this.gridView1.Rows) 
{ 
    int accessionID = Convert.ToInt32(gridView1.DataKeys[accessionRow.RowIndex]["AccessionId"]); 
} 
+0

내가 뭐하는 거지 그게 전부 다음 데이터 그리드를 통해 또는 관련 데이터 그리드 이벤트 처리기에서 당신 루프 때

<asp:GridView ID="gridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="AccessionId, DocUrl" EnableViewState="true"> ... </asp:GridView> 

나중에 코드에서, 당신은이 값을 다시 검색 할 수 있습니다. 하지만 DataRowView로 캐스팅하려고하면 DataRowView drv = (DataRowView) gridView1.ListObject; 캐스팅 예외가 발생했습니다 – Sandhurst

+0

DataSource를 다시 Gridview에서 개체로 가져올 수 없습니다. 대신 Gridview에서 DataKeys를 정의하고 행에서 해당 값에 액세스 할 수 있습니다. –

+0

격자보기 행에서 오브젝트에 액세스하는 방법을 보여주기 위해 내 대답을 편집했습니다. –

관련 문제