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

[Solved] how to send grid data from client to server

0 Answers 32 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.
thang
Top achievements
Rank 1
thang asked on 22 Nov 2010, 06:09 AM
I have : StockOrderMaterial.aspx

<script type="text/javascript">
    function displayCheckedMaterials() {
        
        var gridMaterial = $('#GridMaterial').data('tGrid');

        var $checkedRecords = $(':checked');

        if ($checkedRecords.length < 1) {
            alert('Check a few grid rows first.');

            $("#btnCreateStockOrderMaterial").hide();

            $('#result').hide();

            return false;
        }
        else {
            $("#btnCreateStockOrderMaterial").show();
            $('#result').show();

            $('#result').load('<%= Url.Action("DisplayCheckedMaterials", "StockOrder")%>',
            {
                checkedRecords: $checkedRecords.map(function () { return this.value; })
            });

            return false;
        }
    }

</script>

<
button class="t-button t-state-default" onclick="return displayCheckedMaterials();">Check Materials</button>
<%
    var gridMaterial = Html.Telerik().Grid<MaterialModel>();
 
    gridMaterial.Name("GridMaterial");
    gridMaterial.DataKeys(key => key.Add(m => m.MaterialId));
    gridMaterial.DataBinding(dataBindings => dataBindings.Ajax()
                                            .Select("SelectMaterial","StockOrder"));
    gridMaterial.Columns(columns =>
                         {
                             columns.Bound(m => m.MaterialId);
                             columns.Bound(m => m.MaterialCode).ClientTemplate("<input type='checkbox' name='checkedRecords'value='<#= MaterialId #>' />")
                                 .Title("Check").Width(30)
                                 .HtmlAttributes(new { style = "text-align:center" });
                             columns.Bound(m => m.MaterialCode).Width(150);
                             columns.Bound(m => m.MaterialName).Width(150);
                         });
    gridMaterial.Sortable();
    gridMaterial.Filterable();
    gridMaterial.Pageable(p => p.PageSize(15));
    gridMaterial.Render();
%>
 
</div>
 
<div class="materialCheckedDiv">
<button id="btnCreateStockOrderMaterial" class="t-button t-state-default" style="display: none;" onclick="return CreateStockOrderMaterial();">Approve</button>
    <div id="result"></div>
</div>

MaterialChecked.ascs

<% Html.Telerik().Grid(Model)
        .Name("MaterialChecked")
        //.ToolBar(cmd => cmd.Custom().Text("gui du lieu").Action("Test", "StockOrder"))
        //.ToolBar(cmd => cmd.Custom().Text("gui du lieu").Action("Test", "StockOrder", new { idtest = "1" }))
        .Columns(columns =>
                     {
                         columns.Bound(m => m.MaterialId).Width(75);
                         columns.Bound(m => m.MaterialCode).Width(175);
                         columns.Bound(m => m.MaterialName).Width(250);
                         columns.Template(o =>
                              {                                 
                                  %>
                                      <%= Html.Telerik().IntegerTextBox()
                                                .Name("Quantity")
                                                .InputHtmlAttributes(new { style = "width:100%" })
                                                .MinValue(1)
                                                .MaxValue(int.MaxValue)
                                                .Value(1)
                                        %>
                                  <%
                            }).Width(150).Title("Quantity");
                     })
        .Footer(false)
        .Render();
%>


It will send data to server and get checked value, like telerik demo site http://demos.telerik.com/aspnet-mvc/grid/checkboxesajax.
==============
I have code : [var grid = $("#MaterialChecked").data("tGrid");]

Now, I want to get all data of MaterialChecked grid, and send to server to insert db with some another params by ActionCommand or $.post (jquery), whatever.

How can I do that ?

Thanks for all bro!!!


Tags
Grid
Asked by
thang
Top achievements
Rank 1
Share this question
or