The treeview events demo has event handlers such as the following:
function onCheck(e) {
kendoConsole.log("Checkbox changed :: " + this.text(e.node));
//??????? do something useful ?????
}
But how would I do something useful, like get ID, checked status (checked or unchecked), or other fields of the item checked?
If the data source has model with fields "Id", "name", "something", how would I get those values?
I wish to connect the treeview checkboxes to an "enabled" field for records in my database.
Specifically, when a checkbox is clicked, I want to all an action to update the corresponding enabled field.
Also, with checkchildren(true), I want to likewise update the enabled field of all children.
What are the basics of how to do this?
The only demo using checkboxes also uses hard-coded tree items, with no connection to remote data.
Hi telerik team,
I've a Multi-column comboBox and I need to get the value of 3 of the columns when the user select one item in JavaScript.
Here's my comboBox code:
01.
@(Html.Kendo().ComboBox()
02.
.Name(
"comboBox1"
)
03.
.Events(x => x.Change(
"comboBox1_onChange"
))
04.
.DataValueField(
"ID"
)
05.
.DataTextField(
"Description"
)
06.
.HeaderTemplate(
07.
"<div class=\"dropdown-header\">"
+
08.
"<span class=\"k-widget k-header\">ID</span>"
+
09.
"<span class=\"k-widget k-header\">Reference</span>"
+
10.
"<span class=\"k-widget k-header\">Description</span>"
+
11.
"<span class=\"k-widget k-header\">Internal Code</span>"
+
12.
"</div>"
)
13.
.Template(
14.
"<span class=\"columnItem\">#: data.ID #</span>"
+
15.
"<span class=\"columnItem\">#: data.Reference #</span>"
+
16.
"<span class=\"columnItem\">#: data.Description #</span>"
+
17.
"<span class=\"columnItem\">#: data.InternalCode#</span>"
)
18.
.Filter(FilterType.StartsWith)
19.
.DataSource(source => {
20.
source.Custom()
21.
.ServerFiltering(
true
)
22.
.ServerPaging(
true
)
23.
.PageSize(80)
24.
.Type(
"aspnetmvc-ajax"
)
//Set this type if you want to use DataSourceRequest and ToDataSourceResult instances
25.
.Transport(transport =>
26.
{
27.
transport.Read(
"ProductsVirtualization_Read"
,
"Edit"
);
28.
})
29.
.Schema(schema =>
30.
{
31.
schema.Data(
"Data"
)
//define the [data](http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-schema.data) option
32.
.Total(
"Total"
);
//define the [total](http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-schema.total) option
33.
});
34.
})
35.
.Virtual(v => v.ItemHeight(26))
//.ValueMapper("valueMapper"))
36.
)
Can anyone give me a clue about how to read the value of "ID", "Reference" and "InternalCode" in the comboBox1_onChange event?
Thank you.
I'm trying to use Kendo UI Grid in Orchard CMS (http://orchardproject.net) and I've almost been able to get it to work all the way but I can't seem to get validation to work. I've decorated my model with:
[DisplayName("Namn")]
[Required(ErrorMessage = "Ange värde")]
public string Name { get; set; }
but when I try to update/create with empty value I get an error:
{"Message":"The request is invalid.","ModelState":{"civilStatusTypeViewModel.Name":["Ange värde"]}}​
But I am not getting any "visual validation" error message in the page.
It is quite complicated to setup Kendo UI with Orchard so this is most likely a configuration error, like a missing .css or .js, but I can't figure out where to look so I would be grateful for any help on how to solve this.
Hi Everyone,
I have a question regarding the ASP.NET MVC Dropdownlist.
I load my DDL with data from the controller like this.
public
JsonResult GetCountries()
{
SelectList list =
null
;
ServiceSession.CreateService<MemberService>((Service) =>
{
var country = Service.GetCountryCode​s();
list =
new
SelectList(country,
"Id"
,
"Name"
, country.Where(e=>e.Name==
"Danmark"
).First());
});
return
Json(list, JsonRequestBehavior.AllowGet);
}
@(Html.Kendo().DropDownListFor(m => m.CountryCode)
.DataTextField("Text").DataValueField("Value").SelectedIndex(185).
AutoBind(true).DataSource(dataSource => dataSource.Read(read =>
{ read.Action("GetCountries", "Member"); })))
I can't be sure that Denmark is always number 185.
​
If I have a treeview with .DataSource(d=>d.Model(....).Read(r=>r.Action(....)))
Can I use .ItemAction() to set item.checked based on a field provided in the DataSource? How?
In the code below, what would I put in place of the bolded comment?
@( Html.Kendo()How can I make editable first 3 columns of telerik grid? I can make editable the whole row but I need only first 3 columns.
Thanks.
For some unknown reason I can't seem to get my EditTemplates to work if I have them in a folder named "EditorTemplates" in the same folder as my view containing the Kendo UI Grid (MVC) but if I put the same file in Shared/EditorTemplates it works. If I look at this example the Edit Template is setup as indicated above but is working (I guess).
https://github.com/telerik/ui-for-aspnet-mvc-examples/tree/master/grid/custom-popup-editor/KendoUIMVC5/Views/Home
What do I need to do to get it to work from an EditorTemplates folder in same folder as my main view?
I have a window (apologies for bolding... seems easiest way to distinguish code given limited formatting options)
@(Html.Kendo()
.Window()
.Name("UserPermissionsWindow")
.Title("User Privileges")
.Content("loading privlege settings...")
.Iframe(true)
.Draggable()
.Resizable()
.Visible(false))
opened by a button click from a grid row:
columns.Command(com => com.Custom("Privileges")
.Click("openUserPermissionsWindow"));​
The click handler calls the window refresh button:
<script type="text/javascript">
function openUserPermissionsWindow(e) {
e.preventDefault();
// the dataitem retrieved here will have the field values that can subsitute in the template (I hope)
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
personId = dataItem.Person_ID; //will this work?????
var wnd = $("#UserPermissionsWindow").data("kendoWindow");
wnd.refresh({
url: "UserPrivileges/" + personId, // what does this url need to look like?
data: { id: personId }
});
wnd.center().open();
}
</script>
And the action returns a partialview containing a treeview wrapper:
<b>yo 'sup?</b>
@( Html.Kendo()
.TreeView()
.DataTextField("Name")
.Name("userModulePermissions")
.Checkboxes(cbxConfig => cbxConfig.Enabled(true)
.CheckChildren(true)
.Name("checkedNodes"))
.DataSource(d => d.Read(read => read.Action("PermissionsTree_Read",
"SettingsUsers",
new {
userId = Model
})))
)
But I end up with javascript error: ReferenceError: jQuery is not defined
This is "fixed" by putting the jquery (and kendo?) bundles at the top of the PARTIAL view:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/kendo")​
But because this is a PartialView in a window on a page that already exists, shouldn't it be able to use the jquery library that is already on the page?
I don't think I should have to bundle jquery libraries on partial views.
Currently the jquery bundle is at top of layout page.
Please advise.