2013-03-06 2 views
0

코드 뒤에 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 열을 검색 할 텍스트 상자를 갖고 싶습니다. 나는 그것이 위와 같을 때 충분할 것이라고 생각하지만, 그렇지 않다면 나는 누군가를 바른 길로 가게 할 수 있었을 것이므로 나는 나중에 그 일을 바꿀 필요가 없다.

답변

1

우선 현재 코드에는 공백이 없습니다. 이름 DESC로 정렬하려면 정렬 문자열이 "이름 DESC"여야합니다.

Dim dt as new datatable = GetCustData(1) 
dt.DefaultView.Sort = "Name DESC, FirstName ASC" 
gv.DataSource = dt.DefaultView 
gv.DataBind() 
+0

감사 :

은 다음과 같이 각각 사이에 쉼표를 추가, 여러 컬럼에 정렬 문자열을 설정합니다. GV 정렬 이벤트에서 코드를 사용할 때 .... gv.Sorting을 처리합니다. e.SortExpression = "ID"이면 GetCustData (1) .DefaultView.Sort = "ID DESC" gv.DataSource = GetCustData (1)) .DefaultView gv.DataBind() End If 오류가 있지만 그와 동시에 작동하지 않는 이유는 무엇입니까? – Computer

+0

@Computer - GetCustData 메서드는 매번 데이터베이스를 호출합니다. 두 번째 호출 (gv.DataSource = GetCustData (1) .DefaultView)하면 이전에 정렬 집합을 지우는 것입니다. 내가 말하는 코드 샘플을 더 많이 업데이트 할 예정입니다. – DarrellNorton

1

나는 당신이 목록을 때 당신은 지금 무엇을 당신을 위해 정렬을 할 Linq 사용에 대한 일종의

list.OrederBy(c=>c.///specific value in your list) 
0

를 사용할 수있는 행

List<DataRow> list = dt.AsEnumerable().ToList(); 

와 목록을 만들 수 있다고 생각합니다.

Dim dt as new datatable 

dt = From dr as Datarow in GetDataFromBusinessLayer(CustomerID) 
    Order by dr.item("First Sort field), dr.Item("Second Sort Field") 
    Select dr 

Return dt 

... 나는 IDE없이 이것을했지만 트릭을해야한다고 믿습니다. 이 도움이 Sorting DataTable with Linq

희망 -

여기에 하나 개 exmaple 온라인입니다.