or
<#@ template language="C#" HostSpecific="True" #><#@ output extension=".cshtml" #><#@ assembly name="System.ComponentModel.DataAnnotations" #><#@ assembly name="System.Core" #><#@ assembly name="System.Data.Entity" #><#@ assembly name="System.Data.Linq" #><#@ import namespace="System" #><#@ import namespace="System.Collections.Generic" #><#@ import namespace="System.ComponentModel.DataAnnotations" #><#@ import namespace="System.Data.Linq.Mapping" #><#@ import namespace="System.Data.Objects.DataClasses" #><#@ import namespace="System.Linq" #><#@ import namespace="System.Reflection" #><#@ import namespace="Microsoft.VisualStudio.Web.Mvc.Scaffolding.BuiltIn" #><#MvcTextTemplateHost mvcHost = MvcTemplateHost;#>@model IEnumerable<#= "<" + mvcHost.ViewDataTypeName + ">" #><#// The following chained if-statement outputs the file header code and markup for a partial view, a content page, or a regular view.if(mvcHost.IsPartialView) {#><#} else if(mvcHost.IsContentPage) {#>@{ ViewBag.Title = "<#= mvcHost.ViewName#>";<#if (!String.IsNullOrEmpty(mvcHost.MasterPageFile)) {#> Layout = "<#= mvcHost.MasterPageFile#>";<#}#>}<h2><#= mvcHost.ViewName#></h2><#} else {#>@{ Layout = null;}<!DOCTYPE html><html><head> <title><#= mvcHost.ViewName #></title></head><body><# PushIndent(" ");}#><p> @Html.ActionLink("Create New", "Create")</p><table id="MYGRID"><thead> <tr><#List<ModelProperty> properties = GetModelProperties(mvcHost.ViewDataType);foreach (ModelProperty property in properties) { if (!property.IsPrimaryKey && property.Scaffold) {#> <th data-field="<#= property.AssociationName #>"> <#= property.AssociationName #> </th><# }}#> <th></th> </tr> </thead> <tbody>@foreach (var item in Model) { <tr><#foreach (ModelProperty property in properties) { if (!property.IsPrimaryKey && property.Scaffold) {#> <td> @Html.DisplayFor(modelItem => <#= property.ItemValueExpression #>) </td><# }}string pkName = GetPrimaryKeyName(mvcHost.ViewDataType);if (pkName != null) {#> <td> @Html.ActionLink("Edit", "Edit", new { id=item.<#= pkName #> }) | @Html.ActionLink("Details", "Details", new { id=item.<#= pkName #> }) | @Html.ActionLink("Delete", "Delete", new { id=item.<#= pkName #> }) </td><#} else {#> <td> @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ }) </td><#}#> </tr>}</tbody></table><script> $(document).ready(function () { setTimeout(function () { $("#MYGRID").kendoGrid({ dataSource: { type: "json", transport: { read: "/GetJsonData" }, schema: { model: { fields: { item1:{type:"string"}, item2:{type:"string"}, item3:{type:"string"} } } }, pageSize: 10 }, columns: [{ field:"Id", filterable: false }, "Column2", "Column3" ] }); }); });</script><#// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page#><#if(mvcHost.IsContentPage) {#><#} else if(!mvcHost.IsPartialView && !mvcHost.IsContentPage) { ClearIndent();#></body></html><#}#><#+// Describes the information about a property on the modelclass ModelProperty { public string Name { get; set; } public string AssociationName { get; set; } public string ValueExpression { get; set; } public string ModelValueExpression { get; set; } public string ItemValueExpression { get; set; } public Type UnderlyingType { get; set; } public bool IsPrimaryKey { get; set; } public bool IsForeignKey { get; set; } public bool IsReadOnly { get; set; } public bool Scaffold { get; set; }}// Change this list to include any non-primitive types you think should be eligible for display/editstatic Type[] bindableNonPrimitiveTypes = new[] { typeof(string), typeof(decimal), typeof(Guid), typeof(DateTime), typeof(DateTimeOffset), typeof(TimeSpan),};// Call this to get the list of properties in the model. Change this to modify or add your// own default formatting for display values.List<ModelProperty> GetModelProperties(Type type) { List<ModelProperty> results = GetEligibleProperties(type); foreach (ModelProperty prop in results) { if (prop.UnderlyingType == typeof(double) || prop.UnderlyingType == typeof(decimal)) { prop.ModelValueExpression = "String.Format(\"{0:F}\", " + prop.ModelValueExpression + ")"; } else if (prop.UnderlyingType == typeof(DateTime)) { prop.ModelValueExpression = "String.Format(\"{0:g}\", " + prop.ModelValueExpression + ")"; } } return results;}// Call this to determine if property has scaffolding enabledbool Scaffold(PropertyInfo property) { foreach (object attribute in property.GetCustomAttributes(true)) { var scaffoldColumn = attribute as ScaffoldColumnAttribute; if (scaffoldColumn != null && !scaffoldColumn.Scaffold) { return false; } } return true;}// Call this to determine if the property represents a primary key. Change the// code to change the definition of primary key.bool IsPrimaryKey(PropertyInfo property) { if (string.Equals(property.Name, "id", StringComparison.OrdinalIgnoreCase)) { // EF Code First convention return true; } if (string.Equals(property.Name, property.DeclaringType.Name + "id", StringComparison.OrdinalIgnoreCase)) { // EF Code First convention return true; } foreach (object attribute in property.GetCustomAttributes(true)) { if (attribute is KeyAttribute) { // WCF RIA Services and EF Code First explicit return true; } var edmScalar = attribute as EdmScalarPropertyAttribute; if (edmScalar != null && edmScalar.EntityKeyProperty) { // EF traditional return true; } var column = attribute as ColumnAttribute; if (column != null && column.IsPrimaryKey) { // LINQ to SQL return true; } } return false;}// This will return the primary key property name, if and only if there is exactly// one primary key. Returns null if there is no PK, or the PK is composite.string GetPrimaryKeyName(Type type) { IEnumerable<string> pkNames = GetPrimaryKeyNames(type); return pkNames.Count() == 1 ? pkNames.First() : null;}// This will return all the primary key names. Will return an empty list if there are none.IEnumerable<string> GetPrimaryKeyNames(Type type) { return GetEligibleProperties(type).Where(mp => mp.IsPrimaryKey).Select(mp => mp.Name);}// Call this to determine if the property represents a foreign key.bool IsForeignKey(PropertyInfo property) { return MvcTemplateHost.RelatedProperties.ContainsKey(property.Name);}// A foreign key, e.g. CategoryID, will have a value expression of Category.CategoryIDstring GetValueExpressionSuffix(PropertyInfo property) { RelatedModel propertyModel; MvcTemplateHost.RelatedProperties.TryGetValue(property.Name, out propertyModel); return propertyModel != null ? propertyModel.PropertyName + "." + propertyModel.DisplayPropertyName : property.Name;}// A foreign key, e.g. CategoryID, will have an association name of Categorystring GetAssociationName(PropertyInfo property) { RelatedModel propertyModel; MvcTemplateHost.RelatedProperties.TryGetValue(property.Name, out propertyModel); return propertyModel != null ? propertyModel.PropertyName : property.Name;}// HelperList<ModelProperty> GetEligibleProperties(Type type) { List<ModelProperty> results = new List<ModelProperty>(); foreach (PropertyInfo prop in type.GetProperties(BindingFlags.Public | BindingFlags.Instance)) { Type underlyingType = Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType; if (prop.GetGetMethod() != null && prop.GetIndexParameters().Length == 0 && IsBindableType(underlyingType)) { string valueExpression = GetValueExpressionSuffix(prop); results.Add(new ModelProperty { Name = prop.Name, AssociationName = GetAssociationName(prop), ValueExpression = valueExpression, ModelValueExpression = "Model." + valueExpression, ItemValueExpression = "item." + valueExpression, UnderlyingType = underlyingType, IsPrimaryKey = IsPrimaryKey(prop), IsForeignKey = IsForeignKey(prop), IsReadOnly = prop.GetSetMethod() == null, Scaffold = Scaffold(prop) }); } } return results;}// Helperbool IsBindableType(Type type) { return type.IsPrimitive || bindableNonPrimitiveTypes.Contains(type);}MvcTextTemplateHost MvcTemplateHost { get { return (MvcTextTemplateHost)Host; }}#>
$("#input").data("kendoAutoComplete").value("");
//create AutoComplete UI component$("#input").kendoAutoComplete({ dataSource: data, filter: "startswith", placeholder: "Select country...", select: function(e) { var dataItem = this.dataItem(e.item.index()); $('#list').append("<li>" + dataItem + "</li>"); $("#input").data("kendoAutoComplete").value(""); }});{ "name": "object1", "image": "IMAGE_UID_SPECIFIER" }$("#tree").kendoTreeView({
@(Html.Kendo().Grid<Biblioteka.ViewModels.BookViewModel>() .Name("BooksKendoGrid") .Columns(columns => { columns.Bound(p => p.Title); columns.Bound(p => p.Author); columns.Bound(p => p.GenreName); columns.Bound(p => p.ReleaseDate).Format("{0:d}"); columns.Bound(p => p.ISBN); columns.Bound(p => p.BorrowCount); columns.Bound(p => p.RealBookCount); columns.Bound(p => p.AddDate).Format("{0:d}"); columns.Bound(p => p.ModifiedDate).Format("{0:d}"); columns.Bound(p => p.BookId).Width(150).ClientTemplate("<input type=\"button\" value=\"Edit #= Title #\" style=\"width : 100px;\" onclick=\"openEditWindow(#= BookId #)\"/>"); }) .Pageable() .Sortable() .Scrollable() .Filterable() .HtmlAttributes(new { style = "height: 200px" }) .DataSource(dataSource => dataSource .Ajax() .PageSize(2) .Model(model => { //The unique identifier (primary key) of the model is the ProductID property model.Id(p => p.BookId); }) .Read(read => read.Action("BooksKendoGridRead", "Raports") )
) )<!DOCTYPE html><html><head> <title>TEST</title> <script src="cordova-2.2.0.js"></script> <script src="js/jquery.min.js"></script> <script src="js/kendo.mobile.min.js"></script> <link href="css/kendo.common.min.css" rel="stylesheet" /> <link href="css/kendo.mobile.all.min.css" rel="stylesheet" /></head><body> <div id="div1" data-role="view" data-title="Hello World"> <h2>Hello App</h2> <ul data-role="listview" data-style="inset" data-type="group"> <li>Please select: <ul> <li data-icon="play"><a href="Page1.html">Page 1</a></li> <li data-icon="play"><a href="#" onclick="test1();">Test</a></li> </ul> </li> </ul></div> <script> window.kendoMobileApplication = new kendo.mobile.Application(document.body); function test1() { alert('hello there...'); } </script> </body></html>grid.dataSource.filter([ { field: "Name", operator: "startswith", value: "0" }, { field: "Name", operator: "startswith", value: "2" }, { field: "Name", operator: "startswith", value: "3" }, { field: "Name", operator: "startswith", value: "4" }, { field: "Name", operator: "startswith", value: "5" }]); <script type="text/x-kendo-template" id="recentPostListViewTemplate"> <div id="#= id #" data-role="touch" data-tap="myTouch.tap">#= title #</div> <div class="articleBody" id="body-#= id #"> #= content #<br> <a href=#= custom_fields.syndication_permalink[0] #>Read Full Story</a> </div> </script>window.myTouch = { tap : function(e) { var id = e.touch['target']['context']['id']; console.log(id); $('#body-' + id).toggle(); }}