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

Insert and delete records in a subgrid

2 Answers 98 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.
Alexandre
Top achievements
Rank 1
Alexandre asked on 09 May 2011, 02:54 PM
Hi,
I am using Ajax binding in a grid which contains a set of tasks. When a task is selected in the grid, I display all comments associated in a subgrid. But, I have some issues for inserting, editing and deleting records in this subgrid:
  • When I try to delete one record, I get an exception even if the deletion works. It is a server error: This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet. I have tried to allow GET requests as advised but without success.
  • When I want to insert a record, only a cross is displayed without any form...

I attach my source code to help you understand my issues.

Thanks for your answers.

2 Answers, 1 is accepted

Sort by
0
Troy
Top achievements
Rank 1
answered on 20 Aug 2011, 12:03 AM
Alexandre,

Did you ever figure this out? I am having the same problem.
0
Cheng
Top achievements
Rank 1
answered on 22 Aug 2011, 05:20 AM
I got a same error.
When I click "Insert" in toolbar, the insert row displayed in the parent gird, instead of displayed in the sub grid.
Here's my grid's code:

<h2>@Global.RecordInventoryText</h2><br>
@(Html.Telerik().Grid<Item>()<br>
    .Name("Item")<br>
    .DataKeys(keys => { keys.Add(i => i.ItemId); })<br>
    .ToolBar(toolBar => toolBar.Template(<br>
                @<text><br>
<div style="float: left"><br>
    @Html.ActionLink(@Global.AddNewProduct, "Create", null, new { @class = "t-grid-action t-button t-state-default" })<br>
</div><br>
<div class="search-area"><br>
    @Html.TextBox("search") <a class="t-grid-action t-button t-state-default" onclick="OnItemSearch();">@Global.StockSearch</a><br>
</div><br>
</text>))<br>
            .Columns(columns =><br>
            {<br>
                columns.Bound(i => i.Name);<br>
                ...<br>
                .ClientTemplate(<br>
                    Html.ActionLink(@Global.Update, "Update", new { id = "<#= ItemId #>" }, new { @class = "t-grid-action t-button t-state-default" }).ToHtmlString() +<br>
                    "<a href='#' class='t-button t-grid-delete'>Delete</a>"<br>
                ).Title(Global.Command);<br>
<br>
                columns.Command(commands =><br>
                {<br>
                    commands.Delete().ButtonType(GridButtonType.Text);<br>
                }<br>
                ).Title(Global.Command).Hidden();<br>
                columns.Bound(i => i.ItemId).Hidden();<br>
                columns.Bound(i => i.LastUpdated).Hidden();<br>
            })<br>
            .ClientEvents(events => events.OnError("Grid_onError")<br>
                    .OnRowSelect("Item_OnRowSelected")<br>
                    .OnDataBinding("Item_OnDataBinding")<br>
                    .OnRowDataBound("Item_OnRowDataBound")<br>
                    .OnDelete("Item_OnDelete")<br>
                    )<br>
            .DataBinding(dataBinding => dataBinding.Ajax()<br>
                .Select("_SelectItem", "Item", new { searchText = "" })<br>
                .Delete("_DeleteItem", "Item")<br>
                )<br>
            .DetailView(detailView => detailView.ClientTemplate(<br>
                Html.Telerik().TabStrip()<br>
                .Name("TabStrip_<#= ItemId #>")<br>
                .SelectedIndex(0)<br>
                        .Items(item =><br>
                        {<br>
                            item.Add().Text(Global.ItemTabDetail).Content(<br>
                            "<div class='item-details'>" +<br>
                            "</div>");<br>
                            item.Add().Text(Global.TransactionDescription).Content(<br>
                                @Html.Telerik().Grid<ItemTransaction>()<br>
                                .DataKeys(keys =><br>
                                {<br>
                                    keys.Add(p => p.TransactionId);<br>
                                })<br>
                                .Name("ItemTranscationGrid")<br>
                                .Editable(editing => editing.Mode(GridEditMode.InLine)<br>
                                .DefaultDataItem(new ItemTransaction()<br>
                                {<br>
                                    TransactionId = Guid.NewGuid(),<br>
                                    DateCreated = DateTime.Now,<br>
                                    Date = DateTime.Today,<br>
                                    TransactionType = ((List<TransactionType>)ViewData["transactionTypes"])[0],<br>
                                    TransactionTypeId = ((List<TransactionType>)ViewData["transactionTypes"])[0].TransactionTypeId<br>
                                })<br>
                                )<br>
                                .ToolBar(transToolBar => { transToolBar.Insert(); })<br>
                                .Columns(transColumns =><br>
                                { <br>
                                    transColumns.Bound(o => o.Date).Format("{0:d}").Width(120);<br>
                                    <br>
                                    transColumns.Command(commands =><br>
                                    {<br>
                                        <b>commands.Edit().ButtonType(GridButtonType.Text);</b> <b>//This is supposed to be edited in sub grid, but it didn't</b><br>
                                        commands.Delete().ButtonType(GridButtonType.Text);<br>
                                    }).Title(Global.Command);<br>
                                    transColumns.Bound(o => o.ItemId).Hidden(true);<br>
                                    transColumns.Bound(o => o.PriceLevelId).Hidden(true);<br>
                                })<br>
                                //.Groupable(settings => settings.Groups(groups => groups.AddDescending(o => o.Date)))<br>
                                .ClientEvents(events => events.OnEdit("Transaction_OnEdit").OnSave("Transaction_OnSave")<br>
                                    .OnError("Grid_onError").OnDataBound("Transaction_OnDataBound").OnDataBinding("Transaction_OnDataBinding"))<br>
                                .DataBinding(dataBinding => dataBinding.Ajax()<br>
                                        .Select("_SelectItemTransaction", "ManageItems", new { ItemId = ViewData["ItemId"] })<br>
                                        .Insert("_InsertItemTransaction", "ManageItems")<br>
                                        .Update("_UpdateItemTransaction", "ManageItems")<br>
                                        .Delete("_DeleteItemTransaction", "ManageItems")<br>
                                    )<br>
                                .Resizable(resizing => resizing.Columns(true))<br>
                                .Scrollable(scrolling => scrolling.Height(300))<br>
                                .Pageable(paging => paging.PageSize(10))<br>
                                .Sortable(sorting => sorting.OrderBy(sortOrder => sortOrder.Add(o => o.Date).Descending()).SortMode(GridSortMode.MultipleColumn))<br>
                                .ToHtmlString()<br>
        );<br>
                        }).ToHtmlString()<br>
                                ))<br>
            .Pageable(paging => paging.PageSize(150))<br>
            .Resizable(resizable => resizable.Columns(true))<br>
            .Scrollable(scrolling => scrolling.Height(500))<br>
            .Sortable(sorting => sorting.OrderBy(sortOrder => sortOrder.Add(o => o.LastUpdated).Descending()).SortMode(GridSortMode.MultipleColumn))<br>
            .Selectable()<br>
        )
Tags
Grid
Asked by
Alexandre
Top achievements
Rank 1
Answers by
Troy
Top achievements
Rank 1
Cheng
Top achievements
Rank 1
Share this question
or