2011-06-10 2 views
2

에 이전 값을 반환나는 ObjectDataSource를의 경우 SelectMethod을 변경하지만 여전히 내 ObjectDataSource를에서 사용하려면이 두 개의 다른 클래스가의 GridView

"getColection"와 "getLastColectionByUser"

이 영문에서 내 ObjectDataSource를합니다.

`

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"   SelectMethod="getColection"TypeName="HepatiteNegocio.ViewProtocoloCol" SelectCountMethod="getColectionCount" 
    EnablePaging="True"> 
    <SelectParameters> 
     <asp:Parameter Name="pWhere" Type="String" /> 
     <asp:Parameter Name="pOrderBY" Type="String" /> 
     <asp:Parameter Name="startRowIndex" Type="Int32" /> 
     <asp:Parameter Name="maximumRows" Type="Int32" /> 
    </SelectParameters> 
</asp:ObjectDataSource>` 

라디오 버튼 선택 값이 "모든"선택 방법 "getColection"다른 "getLastColectionByUser"입니다, 모든 권리입니다 경우?

  `if(radioButton.SelectedValue.Equals("all")) 
     { 
      ObjectDataSource1.SelectMethod = "getColection"; 
      ObjectDataSource1.SelectCountMethod = "getColectionCount"; 

      try 
      { 
       validation(); 

       ObjectDataSource1.SelectParameters[0].DefaultValue = getWhere(); 
       ObjectDataSource1.SelectParameters[1].DefaultValue = "protocolNumber"; 

      } 
      catch 
      { 
       set an error message 
      } 
     } 
     else 
     { 
      ObjectDataSource1.SelectMethod = "getLastColectionByUser"; 
      ObjectDataSource1.SelectCountMethod = "getLastCountColectionByUser"; 
      try 
      { 
       validation(); 
       ObjectDataSource1.SelectParameters[0].DefaultValue = getWhere(); 
       ObjectDataSource1.SelectParameters[1].DefaultValue = "protocolNumber"; 
      } 
      catch 
      { 
       set an erron message 
      } 
     } 
     ObjectDataSource1.DataBind(); 
     GridView1.DataBind();` 

디버깅 할 때 문제가 없습니다. SelectMethod 및 SelectCountMethod는 변경되지만 gridView는 여전히 이전 값을 표시합니다. 수업은 괜찮습니다. 무슨 일 이니?

+0

이 코드는 분명히 컴파일되지 않습니다. 디버그에서 제대로 작동 할 수 있다고는 생각하지 않습니다. – Hogan

+0

위대한 - 당신은 나의 변화를 un-did했다. 이 질문에 대한 답변을 포기합니다. – Hogan

답변

0

ObjectDataSource가 바인딩 된 후 SelectMethod 속성을 변경하는 중일 수 있습니다. 빠른 수정으로 나열된 절차 마지막 부분에 ObjectDataSource1.DataBind();을 추가하십시오.

코드가 실행되는 이벤트 핸들러는 무엇입니까?

+0

코드 끝에 ObjectDataSource와 GridView를 바인딩합니다. pageload 및 radioButton_OnselectedChanged 메서드에서이를 실행합니다. – user666442