Skip to main content
A newer version of this page is available. .
Tab

ASPxGridView.VisibleRowCount Property

Gets the number of visible rows within the ASPxGridView.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v19.1.dll

Declaration

public int VisibleRowCount { get; }

Property Value

Type Description
Int32

An integer value that specifies the number of visible rows within the ASPxGridView.

Remarks

The VisibleRowCount property returns the number of visible rows displayed within all grid pages. These include both data rows and group rows (if data is grouped). Rows contained within collapsed group rows are not counted.

End-users can see the number of visible rows within the Pager:

ASPxGridView_VisibleRowCount

To learn more, see Traversing Rows.

Example

This example demonstrates how to cancel editing or disable the editor conditionally for the grid when batch editing is in use. It is possible to execute your logic either on the client or server side for a complex business model.

Then, handle the grid’s client-side ASPxClientGridView.BatchEditStartEditing event to either cancel the edit operation using the e.cancel property:

if (condition) e.cancel = true;

or disable the editor by obtaining its client instance:

var editor = s.GetEditor(e.focusedColumn.fieldName);
editor.SetEnabled(condition);

The custom server-side logic can be executed in the CustomJSProperties event handler:

protected void ASPxGridView1_CustomJSProperties(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewClientJSPropertiesEventArgs e) {
    var clientData = new Dictionary<int, object>();
    var grid = sender as ASPxGridView;
    for (int i = 0; i < grid.VisibleRowCount; i++) {
        var rowValues = grid.GetRowValues(i, new string[] { "ID", "ServerSideExample" }) as object[];

        var key = Convert.ToInt32(rowValues[0]);
        if (key % 2 != 0)
            clientData.Add(key, "ServerSideExample");
    }
    e.Properties["cp_cellsToDisable"] = clientData;
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="DevExpress.Web.v14.1, Version=14.1.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxGridView" TagPrefix="dx" %>

<%@ Register assembly="DevExpress.Web.v14.1, Version=14.1.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxEditors" tagprefix="dx" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function OnBatchStartEdit(s, e) {
            //client processing
            var keyIndex = s.GetColumnByField("ID").index;
            var key = e.rowValues[keyIndex].value;

            var condition = key % 2 == 0;

            if (e.focusedColumn.fieldName == "ClientSideCancel") //cancel example
                if (!condition) e.cancel = true;

            //server preprocessing
            if (typeof s.cp_cellsToDisable[key] != "undefined" && s.cp_cellsToDisable[key] == e.focusedColumn.fieldName)
                e.cancel = true;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <dx:ASPxGridView ID="ASPxGridView1" runat="server" KeyFieldName="ID" OnCustomJSProperties="ASPxGridView1_CustomJSProperties">
            <SettingsEditing Mode="Batch"></SettingsEditing>
            <ClientSideEvents BatchEditStartEditing="OnBatchStartEdit" />
        </dx:ASPxGridView>
    </div>
    </form>
</body>
</html>

The following code snippets (auto-collected from DevExpress Examples) contain references to the VisibleRowCount property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also