在devexpress网格的所有页面中选择的行数

时间:2010-07-06 07:18:18

标签: devexpress

我在asp.net和c#.net应用程序中有一个包含多个页面的devexpress网格。我想在网格的所有页面中只进行2次选择。如果我在所有页面中选择超过2行,则应显示警告

如何获取在devexpress网格的所有页面中选择的行数?

1 个答案:

答案 0 :(得分:0)

我们建议您使用以下方法:

1)使用CustomJSProperties事件将有关当前所选记录的信息从服务器端传递到客户端。 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>