This is a migrated thread and some comments may be shown as answers.

[Solved] Disable row(s) in telerik grid

1 Answer 35 Views
Grid
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Stanley
Top achievements
Rank 1
Stanley asked on 29 Aug 2012, 01:10 PM
I need to disable any row that has Paid (bool data type) value as true when the grid loads:

 <% Html.Telerik().Grid<TempVehicleListDC>()
       .Name("TempVehicleGrid").EnableCustomBinding(true)
       .Sortable(sorting => sorting
            .OrderBy(sortOrder => sortOrder.Add(o => o.TempVehicleId).Descending())
        )
       .ToolBar(toolBar => toolBar.Template(() =>
                                    { %>
                                        <p style="color: #FF9933; font-weight: bold; margin-left: 250px;" >List of Registered Vehicle(s)</p>  
                        <% }))
        .Columns(columns =>
        {
            columns.Bound(o => o.VehicleModel).Width(50).Title("Vehicle Make/Model");
            columns.Bound(o => o.ChasisNumber).Width(30).Title("Chassis No");
            columns.Bound(o => o.PlateNumber).Width(20).Title("Plate No");
            columns.Bound(o => o.RegCode).Width(25).Title("Payee ID");
            columns.Bound(o => o.Paid).Width(10).Title("Paid").ClientTemplate("<input type='checkbox' disabled='disabled' name='Paid' <#= Paid? checked='checked' : '' #> />");
            columns.Bound(o => o.TempVehicleId)
                 .ClientTemplate(Html.ActionLink("Edit", "GetUpdateVehicle", "Enrollment", new { id = "<#= TempVehicleId #>" }, new { @class = "btnGridEdit", @title = "Edit Vehicle" }) + " | " + "<a href=\"#\"  class = \"btnGridDelete\" title = \"Delete Vehicle\" onclick='Delete(\"<#= TempVehicleId #>\")'>Delete</a>" + " | " + Html.ActionLink("Pay Now", "GetVehiclePayee", "Payment", new PaymentVerificationViewModel { ChassisNo = "<#= ChasisNumber #>", PayeeId = "<#= RegCode #>" }, new { @class = "btnGridPayVechicle", @title = "Pay for Vehicle" }) + " | " + Html.ActionLink("Print Report", "PrintTempVehRegDetails", "Enrollment", new { id = "<#= TempVehicleId #>" }, new { @class = "btnPrintTempReport", @title = "Print Registration Report", @target = "_blank" }))
                 .Title("")
                 .Width(35)
                 .HtmlAttributes(new { style = "text-align:center;color:#000000" });
        }).RowAction(cell =>
            {
                if (cell.Index > 0 && cell.DataItem.Paid == false)
                { cell.DetailRow.Expanded = false; } //.HtmlAttributes["style"] = "visibility:hidden"; }
            }

        )
        .DataBinding(dataBinding => dataBinding.Ajax().Select("GetVehicleList", "Enrollment"))
        .Scrollable()
        .Sortable()
        .Pageable()
        .Render();
%>

1 Answer, 1 is accepted

Sort by
0
Stanley
Top achievements
Rank 1
answered on 30 Aug 2012, 10:35 AM
I have resolved it myself:

Check out the solution

 <% Html.Telerik().Grid<TempVehicleListDC>()
       .Name("TempVehicleGrid").EnableCustomBinding(true)
       .Sortable(sorting => sorting
            .OrderBy(sortOrder => sortOrder.Add(o => o.TempVehicleId).Descending())
        )
       .ToolBar(toolBar => toolBar.Template(() =>
                                    { %>
                                        <p style="color: #FF9933; font-weight: bold; margin-left: 250px;" >List of Registered Vehicle(s)</p>  
                        <% }))
        .Columns(columns =>
        {
            columns.Bound(o => o.VehicleModel).Width(50).Title("Vehicle Make/Model");
            columns.Bound(o => o.ChasisNumber).Width(30).Title("Chassis No");
            columns.Bound(o => o.PlateNumber).Width(20).Title("Plate No");
            columns.Bound(o => o.RegCode).Width(25).Title("Payee ID");
            columns.Bound(o => o.Paid).Width(10).Title("Paid")
                .ClientTemplate("<input type='checkbox' disabled='disabled' name='Paid' <#= Paid? checked='checked' : '' #> />");
            columns.Bound(o => o.TempVehicleId)
                 .ClientTemplate(Html.ActionLink("Edit", "GetUpdateVehicle", "Enrollment", new { id = "<#= TempVehicleId #>" }, new { @class = "btnGridEdit", @title = "Edit Vehicle" }) + " | " + "<a href=\"#\"  class = \"btnGridDelete\" title = \"Delete Vehicle\" onclick='Delete(\"<#= TempVehicleId #>\")'>Delete</a>" + " | " + Html.ActionLink("Pay Now", "GetVehiclePayee", "Payment", new PaymentVerificationViewModel { ChassisNo = "<#= ChasisNumber #>", PayeeId = "<#= RegCode #>" }, new { @class = "btnGridPayVechicle", @title = "Pay for Vehicle" }) + " | " + Html.ActionLink("Print Report", "PrintTempVehRegDetails", "Enrollment", new { id = "<#= TempVehicleId #>" }, new { @class = "btnPrintTempReport", @title = "Print Registration Report", @target = "_blank" }))
                 .Title("")
                 .Width(35)
                 .HtmlAttributes(new { style = "text-align:center;color:#000000" });
        })
        .DataBinding(dataBinding => dataBinding.Ajax().Select("GetVehicleList", "Enrollment")).ClientEvents(events => events.OnRowDataBound("OnGridDataBound"))
        .Scrollable()
        .Sortable()
        .Pageable()
        .Render();
%>

<script type="text/javascript">
    function OnGridDataBound(e) {
        var dataItem = e.dataItem;

        if (dataItem.Paid) {
            e.row.cells[5].innerHTML = "Vehicle Paid for already";
        }          
    }    
   
</script>
Tags
Grid
Asked by
Stanley
Top achievements
Rank 1
Answers by
Stanley
Top achievements
Rank 1
Share this question
or