количество выбранных строк на всех страницах сетки devexpress - PullRequest
0 голосов
/ 06 июля 2010

У меня есть сетка devexpress с несколькими страницами в приложениях asp.net и c # .net. и я хочу сделать только 2 выбора на всех страницах сетки. если я выберу более 2 строк на всех страницах, должно появиться предупреждение

как получить количество выбранных строк на всех страницах сетки devexpress?

1 Ответ

0 голосов
/ 06 июля 2010

Мы предлагаем использовать следующий подход:

1) передать информацию о выбранных в данный момент записях со стороны сервера на сторону клиента с помощью события CustomJSProperties.2) использовать события Init и SelectionChanged на стороне клиента ASPxGridView для управления выбором.Вот код:

// 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...