2011-11-23 4 views
1

에 정렬 매개 변수의의 DefaultValue를 설정하는 방법은 AllowSorting="True"와의 GridView을 가지고, 내가 먼저 들어, 페이지로의 DefaultValue을 갈 때 나는 SortParameterName="orderBy", SelectMethod="GetScheduledSurveys"ObjectDataSource를

<SelectParameters> 
<asp:Parameter Name="orderBy" Type="String" DefaultValue="SurveyDueDate" /> 
</SelectParameters> 

과 ObjectDataSource를을 가진 " orderBy "SelectParameter가"GetScheduledSurveys "SelectMethod로 전달되지 않습니다. GridView에서 머리글을 클릭 할 때만 전달됩니다. 처음 액세스 할 때 기본값을 사용하려면 어떻게합니까?

답변

1

이 데이터를 데이터 소스에 전달 (저장 프로 시저 또는 쿼리에서 정렬)하기 전에 정렬하지 않은 이유가 무엇입니까? 그렇지 않다면 Page.IsPostBack==false 일 때 Page_Load에서 제안 할 것입니다. 행운을 빕니다!

+0

질문을 게시 한 직후에 if (String.IsNullOrEmpty (orderBy)) orderBy = "SurveyDueDate"를 추가했습니다. 내 "GetScheduledSurveys"SelectMethod에 추가하십시오. 그것은 내가 DefaultValue 전달되지 않은 놀랐어요 그리고 내가 aspx에서해야 할 일이 있는지 궁금해. – Colin

+0

@Hanlet Escaño 나도이 문제에 직면 해있다. 내 SelectMethod에 선언 된 기본 정렬 필드가 있지만 SelectMethod는 많은 다른 데이터 소스에서 재사용하는 메서드입니다. 때로는 내 데이터 소스가 내 페이지 논리에 따라 정렬 요구 사항이 다릅니다. 데이터 소스가 sort 매개 변수를 전달하도록하는 방법이 없습니까? 나는'Control.DataBind()'를 사용하여'Page_Load'에서 수동으로하지 않아도됩니다. –

관련 문제