I have a form that is used to search for people's names and display them in an Telerik MVC Grid. Grid uses Ajax binding and paging. I have a problem with paging. My situation is that when a user searches for names and the search returns say 3 pages of results. The user flips a page and performs a search again narrowing it down to say 1 page of the results, the grid refreshes but stays on the flipped page which shows up empty because again there is only 1 page of results. Is there a way to reset the paging after each search? I handle the searching explicitly on client side by calling $("#gridElement").data("kendoGrid").dataSource.read();
Any help is appreciated.
Nik
RuleFor(x => x.Aanvang)
.InclusiveBetween(
new
DateTime(2008,01,01),
new
DateTime(2100, 01, 01)).WithMessage(
"Wrong"
);
<
globalization
uiCulture
=
"nl-NL"
culture
=
"nl-NL"
enableClientBasedCulture
=
"true"
/>
<
script
src
=
"@Url.Content("
~/Scripts/kendo/2016.2.504/kendo.aspnetmvc.min.js")"></
script
><
br
><
script
src
=
"@Url.Content("
~/Scripts/cultures/kendo.culture.nl-NL.min.js")"></
script
>
Now when i enter 05-05-2015 in the datepicker, it throws the "Wrong" error. While it is accepted when i comment the fluentvalidator out. I figured that the gegenerated html is:
<
input
data-val
=
"true"
data-val-date
=
"The field Aanvang must be a date."
data-val-range
=
"Onwaarschijnlijk"
data-val-range-max
=
"01/01/2100 00:00:00"
data-val-range-min
=
"01/01/2008 00:00:00"
data-val-required
=
"'Aanvang' mag niet leeg zijn."
id
=
"Aanvang"
name
=
"Aanvang"
type
=
"text"
value
=
"1-1-0001"
data-role
=
"datepicker"
class
=
"k-input k-invalid"
role
=
"combobox"
aria-expanded
=
"false"
aria-owns
=
"Aanvang_dateview"
aria-disabled
=
"false"
aria-readonly
=
"false"
data-bind
=
"value:Aanvang"
style
=
"width: 100%;"
aria-activedescendant
=
"01ceca7f-c8ee-45ed-87b9-e1357df3799c_cell_selected"
aria-invalid
=
"true"
>
That shows 01/01/2008 instead of 01-01-2008 format, nut sure if this is the problem, but it is differant and the only thing related thing i could find. Any advice?
as
Hi!
I'm attaching a small scale solution representing my own project that I have been working on and am facing an issue with a grid editor. After looking at numerous examples and Stack Overflow questions + this forum, I finally came to this setup. There is an issue in this implementation that I cannot trace out. upon making a selection in the Terminal Dropdown, an error occurs out of a dynamic script.
Secondly, one more thing that bothers me is that i need to NOT use AJAX calls for the basic IO on the list of objects. I believe it is possible to do it in memory with the datasource.data method. Still struggling with that.
In the end, once the user submits the form, I simply need to retrieve all added services from the BookedServices collection in the Save action of the Home controller. Can you please fix this for me?
I want to use the Grid Inline editing that presents an Update and Cancel button but I want to intercept the Update request so that I can call the Update event in the controller when a custom "Save" button is clicked.
Right now I can tap into the Update event and call grid.cancelRow() and call e.preventDefault() but in doing so when the grid cancels the edit returns the data to it's original state. I know this is desirable for the normal scenario but in this scenario I want the update button to close the edit template in the row and leave the updated values in place and to leave the record marked as dirty.
Optimally it would leave the red triangle modified indicators in the modified cells.
Any suggestions would be appreciated.
I am trying to use a ListView control in an ASP.NET RC1 project. I have added all the required stuff from the documentation..
1. js and styles folders
2. script references in layout
<script src="~/lib/kendo-ui/js/jquery.min.js"></script>
<script src="~/lib/kendo-ui/js/kendo.all.min.js"></script>
<script src="~/lib/kendo-ui/js/kendo.aspnetmvc.min.js"></script>
3. services.AddKendo(); in Startup.cs
However when I add this to my page I am getting a javascript error
jquery(...).kendoListView is not a function
@(Html.Kendo().ListView<Microsoft.Graph.Group>()
.Name("groupView")
.TagName("div")
.ClientTemplateId("grouplistTemplate")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Groups_Read", "Groups"))
)
)
What could the issue be?
Thanks
AJ
I've overridden the treeview CSS using the following code and while everything looks fine in desktop Chrome/IE/Firefox I'm having trouble in Chrome on Android. I'm seeing multiple icons to expand and contract the treeview nodes. It appears to be displaying a 64px square of the sprite.
<style scoped>
.k-icon, .k-tool-icon, .k-grouping-dropclue, .k-drop-hint, .k-column-menu .k-sprite {
background-image: url('/content/kendo/2015.1.429/default/sprite_2x.png');
border-color: transparent;
}
.k-icon {
width: 32px;
height: 32px;
}
.k-treeview .k-item {
font-size: 28px;
}
.k-treeview .k-minus {
background-position: 0 -256px;
}
.k-treeview .k-plus {
background-position: 0 -286px;
}
.k-treeview .k-in {
line-height: 32px;
}
.k-treeview .k-item, .k-drag-clue {
font-size: 28px;
padding: 0 0 0 32px;
}
.k-add {
background-position: -96px -416px;
}
.k-insert-middle {
background-position: -320px -96px;
}
.k-denied {
background-position: -96px -96px;
}
.k-insert-bottom {
background-position: -320px -128px;
}
.k-insert-top {
background-position: -320px -64px;
}
</style>
Thoughts
I have a Kendo MVC Grid that has inline editing enabled. The form has a master SAVE button on top of the form. The intent is to let the user modify multiple rows and then do one master save.
So right now the EDIT button allows the user to edit the row values and presents an UPDATE button. This works in that the update method specified in the grid's configuration fires the controller event. In that event I just return the row that was sent in. That is all working but we would like the red indicator to show in the row in the modified cells after the controller action and then be cleared when the master save button is clicked, and the JavaScript submits the form's modified rows to that controller action in an AJAX batch action on the form.
Can someone offer a possible solution?
Thanks
I stuggle with this grid and editortemplate with a combobox. My model has a int? idAfdeling that is the foreign key.
With the valuePrimitive set to false, the idAfdeling remains null after a combobox item is selected, it will update once the initial idAfdeling is not null.
With the valuePrimitive set to true, the idAfdeling is updated after selecting an item, but the autobind option is not respected and an ajax call is made.
Now i wonder if there is any option to make the combination (combobox, nullable int, bind on demand) work..
@(Html.Kendo().ComboBoxFor(m => m)
.DataTextField("Omschrijving")
.DataValueField("idAfdeling")
.DataSource(ds =>
{
ds.Read(read => read.Action("Afdelingen", "Afdeling", new { Area = "Tabellen" }).Data("passAfdeling"));
})
.HeaderTemplateId("AfdelingHeaderTemplate")
.TemplateId("AfdelingTemplate")
.Suggest(true)
.ValuePrimitive(false)
.AutoBind(false)
)
How would one go about accomplishing the following in MVC: Import data from a database into the spreadsheet control and implement formula cells in certain columns.
I'm not sure the methodology to work in a sort of hybrid method using this control. Is there a way to feed formulas from the controller? Currently I am adding null values to properties of my viewmodel so the columns can show up in the spreadsheet, but these wipe out the formulae I am placing in the column. Here is the code I am using. Not the most elegant :)
@(Html.Kendo().Spreadsheet()
.Name("spreadsheet")
.HtmlAttributes(new { style = "width:100%" })
.Excel(excel => excel
.ProxyURL(Url.Action("Index_Save", "Spreadsheet"))
)
.Pdf(pdf => pdf
.ProxyURL(Url.Action("Index_Save", "Spreadsheet"))
)
.Sheets(sheets =>
{
sheets.Add()
.Name("Products")
.DataSource<BBC.Bids.ViewModels.OrderViewModel>(ds => ds
.Ajax()
.Batch(true)
.Read(r => r.Action("Orders_Read", "Grid").Data("selectedOrder"))
.Update("Products_Update", "Spreadsheet")
.Create("Products_Create", "Spreadsheet")
.Destroy("Products_Destroy", "Spreadsheet")
.Events(e => e.Change("onChange"))
.Model(m =>
{
m.Id(p => p.LineNo);
})
)
.Columns(columns =>
{
columns.Add().Width(25);
columns.Add().Width(200);
columns.Add().Width(100);
columns.Add().Width(25);
columns.Add().Width(50);
columns.Add().Width(50);
columns.Add().Width(50);
columns.Add().Width(50);
columns.Add().Width(50);
columns.Add().Width(50);
columns.Add().Width(50);
columns.Add().Width(50);
})
.Rows(rows =>
{
rows.Add().Height(40).Cells(cells =>
{
for (var i = 1; i < 23; i++)
{
cells.Add()
.Bold(true)
.Background("#9c27b0")
.TextAlign(SpreadsheetTextAlign.Center)
.Color("white");
}
});
for (var i = 2; i < 500; i++)
{
rows.Add().Cells(cells =>
{
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add().Formula("J" + i + "*W" + i); // calculated freight cost
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
cells.Add();
});
}
});
})
)