2010-07-06 4 views
0

asp.net 및 C# .net 응용 프로그램에 여러 페이지가있는 그래픽 전용 그리드가 있습니다. 그리드의 모든 페이지에서 2 번만 선택하고 싶습니다. 모든 페이지에서 2 행 이상을 선택하면 경고가 표시됩니다.devexpress 그리드의 모든 페이지에서 선택된 행 수

devexpress 모눈의 모든 페이지에서 선택된 행 수를 얻는 방법은 무엇입니까?

1) CustomJSProperties 이벤트를 사용하여 클라이언트 측에 서버 측에서 현재 선택한 레코드에 대한 정보를 전달합니다

답변

0

우리는 다음과 같은 방법을 사용하는 것이 좋습니다. 2) ASPxGridView의 클라이언트 측 Init 및 SelectionChanged 이벤트를 사용하여 선택 항목을 관리합니다.

// CS

protected void grid_CustomJSProperties(object sender, ASPxGridViewClientJSPropertiesEventArgs e) { 
    e.Properties["cpSelectionCount"] = (sender as ASPxGridView).Selection.Count.ToString(); 
} 

// JS

<script type="text/javascript"> 
    var selectedCount = 0; 
    </script> 

....

<dx:ASPxGridView ID="grid" runat="server" AutoGenerateColumns="False" KeyFieldName="CategoryID" OnCustomJSProperties="grid_CustomJSProperties" DataSourceID="AccessDataSource1"> 
      <ClientSideEvents SelectionChanged="function(s,e) { 
      if(e.isChangedOnServer) 
       return; 
      if(e.isSelected) 
       selectedCount += 1; 
      else 
       selectedCount -= 1;     
      if(e.isSelected &amp;&amp; selectedCount &gt; 2) { 
       alert('You selected more than 2 records'); 
       s.UnselectRowOnPage(e.visibleIndex);     
      return; 
     } 
    }" 
    Init="function(s,e) { 
     selectedCount = parseInt(s.cpSelectionCount); 
    }"/> 
    <Columns> 
    ... 
    </Columns> 
</dx:ASPxGridView> 
: 다음 코드는
관련 문제