The following tip demonstrates how to enable or disable a row based upon one of its column value
Let us say we want to disable the whole row if OnHand column value of ASPXGridview is 0.
1.by handling ASPXGridview_HtmlRowCreated event of ASPXGridview.
Protected Sub ASPXGridview_HtmlRowCreated(ByVal sender As Object, ByVal e As
DevExpress.Web.ASPxGridView.ASPxGridViewTableRowEventArgs) Handles ASPXGridview.HtmlRowCreated
If (e.VisibleIndex >= 0) Then
If (ASPXGridview.GetRowValues(e.VisibleIndex, "OnHand") = 0)Then
e.Row.Enabled = False
End If
End If
End Sub
2. by handling ASPXGridview_HtmlRowPrepared event of ASPXGridview.
Protected Sub ASPXGridview_HtmlRowPrepared(ByVal sender As Object, ByVal e
As DevExpress.Web.ASPxGridView.ASPxGridViewTableRowEventArgs) Handles
ASPXGridview.HtmlRowPrepared
If (e.VisibleIndex >= 0) Then
If (ASPXGridview.GetRowValues(e.VisibleIndex, "OnHand") = 0)Then
e.Row.Enabled = False
End If
End If
End Sub
The above two methods work in IE for both GridViewCommandColumn and GridViewDataColumn, but not in Firefox . In case of the latter, this works for the datacolumn only, the row selection checkbox of DevExpress AspxGridView does not get disabled.
To make it work in Firefox , we have to handle ASPXGridview_HtmlCommandCellPrepared of ASPXGridview as below.
Protected Sub ASPXGridview_HtmlCommandCellPrepared(ByVal sender As Object, ByVal e As DevExpress.Web.ASPxGridView.ASPxGridViewTableCommandCellEventArgs) Handles ASPXGridview.HtmlCommandCellPrepared
If e.CommandCellType = DevExpress.Web.ASPxGridView.GridViewTableCommandCellType.Data Then
If (ASPXGridview.GetRowValues(e.VisibleIndex, "OnHand") = 0)Then
CType(e.Cell.Controls(0), WebControl).Attributes("disabled") = "true"
End If
End If
End Sub