코드 뒤에 Gridview에 바인딩 된 데이터 테이블이 있습니다. 이것은 내가 뒤에있는 코드에서 열을 정렬해야한다는 것을 의미하며, 뒤에서 코드에서 수행 될 것이라고 상상할 수있는 레코드를 검색 할 때도 마찬가지입니다.데이터 테이블 정렬 및 검색
내가있는 gridview를 정렬해야하는 코드는
Private Function GetCustData As Datatable
Dim dt as new datatable
dt = GetDataFromBusinessLayer(CustomerID)
Return dt
End Function
입니다 그리고 당신은 내가 .DefaultView.Sort = "이름"을 사용하여 시도 & "DESC를 말할 수 코드는
Private Sub gv_Sorting(sender As Object, e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles gv.Sorting
If e.SortExpression = "Name"
gv.DataSource = GetCustData '.DefaultView.Sort = "Name" & "DESC"
gv.DataBind()
End If
End Sub
을 정렬 "하지만이 작업을하지 못했습니다 및 오류가 발생했습니다 데이터 원본 잘못된 형식입니다. IListSource, IEnumerable 또는 IDataSource 중 하나 여야합니다. 대부분의 주위를 검색하는 Viewstate를 사용하고 있지만 그건 내 사건에 적용되지 않는 것.
누구나 어떻게 하나/여러 열을 정렬 할 것이라고 조언 할 수 있습니까?
또한 Name 열을 검색 할 텍스트 상자를 갖고 싶습니다. 나는 그것이 위와 같을 때 충분할 것이라고 생각하지만, 그렇지 않다면 나는 누군가를 바른 길로 가게 할 수 있었을 것이므로 나는 나중에 그 일을 바꿀 필요가 없다.
감사 :
은 다음과 같이 각각 사이에 쉼표를 추가, 여러 컬럼에 정렬 문자열을 설정합니다. GV 정렬 이벤트에서 코드를 사용할 때 .... gv.Sorting을 처리합니다. e.SortExpression = "ID"이면 GetCustData (1) .DefaultView.Sort = "ID DESC" gv.DataSource = GetCustData (1)) .DefaultView gv.DataBind() End If 오류가 있지만 그와 동시에 작동하지 않는 이유는 무엇입니까? – Computer@Computer - GetCustData 메서드는 매번 데이터베이스를 호출합니다. 두 번째 호출 (gv.DataSource = GetCustData (1) .DefaultView)하면 이전에 정렬 집합을 지우는 것입니다. 내가 말하는 코드 샘플을 더 많이 업데이트 할 예정입니다. – DarrellNorton