2010-06-17 5 views
2

안녕하세요, 저는 동적으로 C#을 통해 DataSet을 사용하여 생성되는 그리드보기가 있습니다. 레코드를 편집 할 때 사용자가 클릭 할 때 필요하기 때문에 데이터베이스에서 행 ID 필드를 그리드보기로 전달하고 있습니다. 그러나 사용자가 열을 볼 수 없도록하고 싶습니다. 다음을 시도했지만 작동하지 않는 것 같습니다. 누구든지 열을 숨기거나 그리드 뷰 행에 정보를 첨부하는 더 좋은 방법을 제안하여 나중에 사용할 수 있습니다. C#Gridview 보이지 않는 열 만들기

 DataColumn ColImplantCustomerDetailsID = new DataColumn(); 
     ColImplantCustomerDetailsID.ColumnName = "Implant ID"; 
     ColImplantCustomerDetailsID.DataType = typeof(int); 
     ColImplantCustomerDetailsID.Visable = false; <-- visable doens't work here. 

asp.net

답변

4

DataColumn에는 'Visible'속성이 없습니다. 지옥, 그것은 'Visible'속성도 가지고 있지 않습니다. 당신이

gridviewNameHere.Columns[index].Visible = false; 

를 결합하기 전에

사용이 당신은 당신의 이벤트 핸들러 중 하나에 다시 표시 할 수 있습니다.

4

또 다른 옵션은, 오히려 열을 숨기기보다는 ID 필드의 이름을 저장하기 위해의 GridView의 DataKeyNames 속성을 사용하는 것입니다. 그런 다음 myGridView.SelectedValue을 사용하여 선택한 ID를 검색 할 수 있습니다. 사용할 수있는 해당 행에 대한 데이터베이스 상태 이름 -

+0

감사합니다, 나는 그런 식으로 일을로 보았다. 나는 주변에서 내 머리를 잘 잡을 수는 없지만 다른 모습을 가져야 할 수도 있습니다. – flyersun

2

당신이 그것을 초기화 할 때 그것을 숨길 열의 인덱스를 사용 ...

grid.Columns[index].Visible = false; 

나는 실제로 몇 당신은, 예를 제안 사물을있는 그대로 숨기기 사용자가 볼 필요가없는 코드.

0

:

// c# 
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    int index = 0; // put the index of the column you need hide. 
    e.Row.Cells[index].Visible = false; 
}