Telerik Forums
UI for ASP.NET MVC Forum
1 answer
105 views

Hello everyone,

 

I'm currently testing the Kendo Ui, especially the Grid, in an ASP.NET MVC - Environment and I'm a bit confused by the AJAX-Databinding.

The grid is constructed with the Kendo MVC GridBuilder in a razor-view.

There are multiple columns that are set to visible / invisible dynamically.

Everything was working like a charm until I've inspected the network-traffic that showed me, that the JSON-Result contains every column of the IEnumerable the grid is bound to, also the ones that are not even mentioned in the Columns-section.

Is there a way to turn this off and only download the data that is actually needed?

 

Thanks.

 

Kind regards,

 

Stefan

 

Dimiter Madjarov
Telerik team
 answered on 20 May 2015
3 answers
557 views

Hi,

I am trying to load the razor page/ form as acontent for TabStrip dynamically from Menu click event. The telerik team can help to with sample example.

 

Thanks,

Kiran

Daniel
Telerik team
 answered on 20 May 2015
3 answers
563 views

Dear Telerik,

I have the fallowing problem reported by my QA team on a page with moltipale comboboxs the value of the combo shows up as the combo syncs with server data the it disappears and is synced.

As I was checking this I see that the fields .value() and text(). of the kendo ui ComboBox have this strange behavior. They sync with each other. When I change the text in the combo box value is set to the text current value. This can be seen an the kendo ui demo basic usage , by writing "Item 4" in the combo and the value() and the text() of the combo will both be "Item 4". This could cause problem if the data arrived at the server when a code is expected. In my view .text should not be synced to the .value. If there  selection of the value.

 here is a disction of this :

 

http://stackoverflow.com/questions/18870746/avoid-combobox-sending-values-that-arent-on-the-list

 

Yours,

 

Ariel

Georgi Krustev
Telerik team
 answered on 20 May 2015
3 answers
142 views
Hey, first of all thanks for providing such useful and beautiful components to asp.net. I am developing a mobile web site and would like to use a global drawer in _Layout page for navigation. But somehow i can't replace the default tabstrip with a drawer. Drawer button is visible and clickable but won't bring the drawer if pressed. Can you provide me with basic guidance and a sample code? 
Georgi Krustev
Telerik team
 answered on 20 May 2015
1 answer
2.1K+ views
Hi,

 I am trying to disable kendo
dropdown list in javascript,

And it is not working for me.

Here
the code:

$(“#entityId").data("kendoDropDownList").enable(false);


Thanks,
Iliana Dyankova
Telerik team
 answered on 19 May 2015
1 answer
259 views

 

Hello,

Please give me an idea how to do multiple nested subgrids.  please see the attachment for more details.

I have a main grid (one row), a subgrid1 (9 rows) and below the subgrid1 with 5 hyperlinks.

If a user clink on a hyperlink then a subgrid2 will show the data. If the user click on the different hyperlink then the subgrid2 will be updated.

My question:

how to add 5 hyperlinks below subgrid1.

how to show subgrid2 when a user click on a hyperlink.

Thank you!!! 

 

Plamen Lazarov
Telerik team
 answered on 19 May 2015
3 answers
646 views
Hello,
I have cascading dropdowns in my hierarchical grid (child rows) working fine. What I need is when the last dropdown value is selected that it would call my function (which it is doing fine), pass the id, look up the suggested price for the Price column and update the grid.

Here is what I have so far:

My child grid template:
<script id="orderdetailtemplate" type="text/kendo-tmpl">
    @(Html.Kendo().Grid<Trecero.Models.OrderDetail>()
            .Name("grid_#=OrderId#")
                    .HtmlAttributes(new {@class="MyDetails" })
            .Columns(columns =>
            {
                columns.Bound(o => o.OrderDetailId).Width(100).Title("Id");
                columns.Bound(o => o.DateOrder).Width(75).Title("Date").Width(130).Format("{0:MM/dd/yyyy}");
                columns.ForeignKey(p => p.CompanyId, (System.Collections.IEnumerable)ViewData["companies"], "CompanyId", "CompanyName").Title("Company").Width(100).HeaderHtmlAttributes(new { @title = "Company" }).Width(200).EditorTemplateName("CompanyId");
                columns.ForeignKey(p => p.OrderItemId, (System.Collections.IEnumerable)ViewData["orderitems"], "OrderItemId", "ItemCode").Title("Item").Width(300).HeaderHtmlAttributes(new { @title = "Item" }).Width(300).EditorTemplateName("OrderItem");
                columns.Bound(o => o.Price).Width(110);
                columns.Bound(o => o.OrderItem).ClientTemplate("#=OrderItem.Price#").Width(100);
                columns.Bound(o => o.Qty).Width(80);
                columns.ForeignKey(p => p.OrderStatusId, (System.Collections.IEnumerable)ViewData["orderstatus"], "OrderStatusId", "Description").Title("Status").Width(150);

                columns.Command(command => { command.Edit(); }).Width(150);
            })
                                  .ToolBar(toolbar => toolbar.Create().Text("Add Line").HtmlAttributes(new { @title = "Add Line" }))
                                .Editable(editable => editable.Mode(GridEditMode.InLine))
                                .DataSource(dataSource => dataSource
                                    .Ajax()
                                    .PageSize(10)
                                            .Model(model =>
                                            {
                                                model.Id(p => p.OrderDetailId);
                                                model.Field(p => p.EnteredByUserId).DefaultValue(ViewBag.CurrentUserId);
                                                model.Field(p => p.IsPosted).DefaultValue(false);
                                                model.Field(p => p.OrderId).Editable(false);
                                                model.Field(p => p.OrderDetailId).Editable(false);
                                                model.Field(p => p.DateOrder).DefaultValue(DateTime.Today).Editable(false);
                                                model.Field(p => p.Qty).DefaultValue(1);
                                                model.Field(p => p.OrderStatusId).DefaultValue(1);
                                                model.Field(p => p.Description).Editable(false);
                                            })
                                    .Read(read => read.Action("OrderDetail_Read", "Orders", new { id = "#=OrderId#" }))
                                    .Create(update => update.Action("OrderDetail_Create", "Orders"))
                                    .Update(update => update.Action("OrderDetail_Update", "Orders"))
                                    .Destroy(update => update.Action("OrderDetail_Destroy", "Orders"))
                                )
                                .Pageable()
                                .Sortable()
                                .ToClientTemplate()
    )
</script>

My editor template drop down that is doing the triggering:
@model int

@(Html.Kendo().DropDownListFor(m => m)
                  .AutoBind(false)
                  .OptionLabel("Select Item...")
                  .DataTextField("TextValue")
                  .DataValueField("Id")
                  .Events(e => e.Change("orderitemchanged"))
                  .DataSource(dataSource =>
                  {
                      dataSource.Read(read => read.Action("GetOrderItemListbyCompanyId", "Orders").Data("filterCompanies"))
                                .ServerFiltering(true);
                  })

                  
                  .CascadeFrom("CompanyId")
                  
)
@Html.ValidationMessageFor(m => m)

and finally the event where I need this magic to happen:

function orderitemchanged(e) {
        var tr = $(e.target).closest(".k-detail-row").closest('div.k-grid').data("kendoGrid");
        
        alert(tr);

        //alert(data);

        //var grid = $("#grid").data("kendoGrid"),
        //model = grid.dataItem(this.element.closest("tr"));

       
        //alert(model);

        //var x = e.dataItem['Price'].text;
        //alert(x);

        //var t = $("#OrderItemId").data("kendoDropDownList").value();

        //var items = this.dataSource.data();

        //for (var i = 0; i < items.length; i++) {

        //    alert('hit');

        //    //alert(items[i].value);

        //    items[i].set("Price", 100);
        //}

        //var x = $("#Price").data("kendoTextbox").text();

        //alert(x);

        //var tr = $(e.target).closest("tr"); //get the row

        //var data = this.dataItem(tr); //get the row data so it can be referred later

        //alert(data);
        //data.set("UnitPrice", data.UnitPrice * 10);
       
    }

As you can see, I've tried everything.





Rosen
Telerik team
 answered on 19 May 2015
1 answer
439 views

Hi,

I have one dropdownlist and one grid in my form.I fill grid from dropdownlist change event with script.I initialize the data from page load in the controller.I create dynamic grid with columns.In  dropdownlist item support has diffrent column count and names think about like table.When I selected the item on dropdownlist the grid data will come but columns number will not change how can I change the columns from selected item?.I get the columns and data from controller.Data will come but columns will not come and change.And also the view page(.cshtml) not trigger when grid read the data.How can I solve this issue changing the columns selecting from dropdownlist 

And my view page source codes is here.

Can any one help?

<div id="DropDown">
    @(Html.Kendo().DropDownList()
          .Name("DropDownList")
           
          .HtmlAttributes(new { style = "width: 350px" })
                    .DataTextField("text")
                    .DataValueField("value")
          .Filter("startswith")
          .OptionLabel("--SELECT--")
          .DataSource(source =>
          {
              source.Custom()
                  .Type("aspnetmvc-ajax")
                  .Transport(transport =>
                  {
                      transport.Read("CodesDropDownList", "GlobalSettings");
                  })
                  .Schema(schema =>
                  {
                      schema.Data("Data")
                          .Total("Total");
                  });
          })
           
          .Events(e =>
          {
              e.Change("onChange");
          })
 
    )
</div>

 

<div id="DynmicGrid">
        @(Html.Kendo().Grid<dynamic>()
              .Name("grid")
              .AutoBind(false)
              .Columns(columns =>
              {
                  foreach (DataColumn column in Model.Columns)
                  {
                      var c = columns.Bound(column.ColumnName);
                      c.Title(column.Caption);
                  }
              })
              .Pageable(pager => pager.Refresh(true))
              .Sortable()
              .ToolBar(toolbar => toolbar.Create())
              .Editable(ed => ed.Mode(GridEditMode.PopUp))
              .Selectable(selectable =>
              {
                  selectable.Mode(GridSelectionMode.Single);
                  selectable.Type(GridSelectionType.Row);
              })
              .Navigatable()
               
              .DataSource(dataSource => dataSource
                  .Ajax()
                  .Model(model =>
                  {
 
                      var id = Model.PrimaryKey[0];
 
                      foreach (var keyColumn in Model.PrimaryKey)
                      {
                          var field = model.Field(keyColumn.ColumnName, keyColumn.DataType);
                          field.Editable(false);
                      }
 
                      model.Id(id.ColumnName);
 
                  })
                  .Read(read => read.Action("Read", "GlobalSettings").Data("additionalData"))
                  .Update(update => update.Action("UpdateRecordINGrid", "GlobalSettings"))
                  .Create(read => read.Action("CreateNewRowDataINGrid", "GlobalSettings").Data("additionalData"))
 
              )
              .Events(e =>
              {
 
              })
    
              )
    </div>

var ddlItem;
 
    function onChange() {
 ddlItem = this.value();
var grid = $("#grid").data("kendoGrid");
grid.dataSource.read();
}
function additionalData(e) {
        return { item: ddlItem }
    }

Dimo
Telerik team
 answered on 19 May 2015
1 answer
97 views

I am using rad tree view in my project. Where i need to get all the child node details when i select the parent node alone without expanding for the first time.

 i found in forum that GetItemByPath() (http://docs.telerik.com/devtools/wpf/controls/radtreeview/how-to/get-item-by-path.html) is the only option. 

Please guide me on this..

 Thanks in advance..

Alex Gyoshev
Telerik team
 answered on 19 May 2015
0 answers
87 views

Hi,

Is it possible to have cascaded dropdown list in batch edit? If yes, can you provide us a sample?

 

Thanks,

 

 

 

Vinod
Top achievements
Rank 1
 asked on 18 May 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?