I. grid
grid传参读取数据
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | @(Html.Kendo.Grid(Model).DataSource(dataSource => dataSource
 .Ajax()
 .PageSize(20)
 .Read(reaad => read.Action("Method","ControllerName").Data("QueryParams"))
 // 下面这种方式适用于val为已知值, 不能动态设置其值
 //.Read(reaad => read.Action("Method","ControllerName"), new {param1: val1, param2: val2})
 )
 )
 <script type="text/javascript">
 function QueryParams () {
 return {
 param1: "val1",
 param2: "val2"
 }
 }
 </script>
 
 | 
grid添加行checkbox及序号
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 
 | @(Html.Kendo().Grid(Model).Name("GridName")
 .Columns(columns =>
 {
 columns.Select().Width(30).HtmlAttributes(new { @class = "select-checkbox" });
 columns.Template(@<text></text>).ClientTemplate("<span class='row-number'></span>").Title("序号").Width(55);
 })
 .ToolBar(toolbar => {
 toolbar.Custom.Text("删除").HtmlAttributes(new {
 @class = "del_btn"
 }).Url("javascript:void(0)");
 })
 .Events(events =>
 {
 events.DataBound("onDataGridBound");
 })
 )
 <script type="text/javascript">
 // grid 编号
 function onDataGridBound() {
 var $grid = $("#GridName").data("kendoGrid");
 if ($grid) {
 var rows = $grid.items();
 //连续编号
 $(rows).each(function () {
 var index = $(this).index() + 1 + ($grid.dataSource.pageSize() * ($grid.dataSource.page() - 1));
 var rowLabel = $(this).find(".row-number");
 $(rowLabel).text(index);
 });
 }
 }
 
 // 删除
 $(".del_btn").click(function () {
 var $grid = $("#GridName").data("kendoGrid");
 var idArr = [];
 $grid.select.each(function (index, row) {
 var item = $grid.dataItem(row);
 if (item) {
 idArr.push({Id: item.Id});
 }
 })
 if (idArr.length > 0) {
 ComfirmAlert("是否删除所选数据!", function () {
 $.ajax({
 url: '@Url.Action("Method", "ControllerName")',
 type: 'POST',
 contentType: 'application/json',
 data: JSON.stringify(idArr),
 error: function (err) {
 
 },
 success: function (data) {
 MessageAlert(data.message);
 // 重新加载grid
 $grid.dataSource.read();
 }
 })
 })
 }
 })
 
 </script>
 
 | 
grid自定义列模版
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | // setTemplate(data) 用data可以获取整行数据columns.Bound(m => m.StateStr).Title("状态").Width(100).ClientTemplate("#= setTemplate(data) #");
 // svgCircle(Progress) 用具体列名则获取当前列名数据
 columns.Bound(p => p.Progress).ClientTemplate("#= svgCircle(Progress) #").Width(120);
 <script type="text/javascript">
 function setTemplate(item){
 // item.StateStr  item.xxx 这里可以进行计算
 return "'<span>'+item.StateStr+'</span>";
 }
 // gird添加圆环进度条(svg)fromat
 function svgCircle(val) {
 var setCircleVal = Math.floor(2 * Math.PI * 15) * (val/100);
 return "<div style='text-align: center;'>" +
 "<div class='header_circle_text'>" +
 "<span>" + val + "%</span>" +
 "</div>" +
 "<svg xmlns='http://www.w3.org/200/svg' style='width:50px;height:50px;position:absolute;margin-left:-25px;margin-top:-35px;'>" +
 "<circle cx='25' cy='25' r='15' fill='none' stroke='rgb(233,233,233)' stroke-width='2' stroke-linecap='round' />" +
 "<circle class='J_demo3' cx='25' cy='25' r='15' fill='none' stroke='rgb(70,128,254)' stroke-width='2' stroke-dasharray='" + setCircleVal +",10000' />" +
 "</svg>" +
 "</div>"
 }
 
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | @(Html.Kendo().Grid(Model).Editable(editable => {
 editable.Mode(GridEditMode.PopUp);
 editable.TemplateName("_YourEditTemplateName").Window(m => { m.Width(980); });
 })
 .Events(events => {
 events.Edit("eventsOfEdit");
 })
 )
 <script type="text/javascript">
 function eventsOfEdit (e) {
 if (e && e.model && e.model.isNew()) {
 $(".k-window-title").text("your new title, eg: add";
 } else {
 $(".k-window-title").text("your new title, eg: edit");
 }
 }
 </script>
 
 | 
需求: 用户可以搜索查询指定字段的数据.
实现: toolbar元素可以通过append方式追加元素 (添加一个按钮,通过js在这个按钮append元素) 或者使用template(不过需要重写按钮的方法,比较麻烦)
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 | @(Html.Kendo.Grid(Model).Name("GridName")
 .ToolBar(toolbar => {
 toolbar.Custom.Text("搜索").HtmlAttribute(new {
 @class = "search_label"
 }).Url("javascript:void(0)");
 })
 )
 <script type="text/javascript">
 $(document).ready(function () {
 $(".search_label").before("<input placeholder='请输入内容' id='search_keyword' class='search_keyword' />")
 })
 $(".search_label").click(function () {
 var key_word = $("#search_keyword").val();
 var $grid = $("#GridName").data("kendoGrid");
 if ($grid) {
 $grid.dataSource.filter({
 field: "Name",
 operator: "contains",
 value: keyword
 })
 }
 })
 </script>
 
 | 
Ⅱ. TreeView
自动选中某个节点
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | var treeview = $("#Treeview").data("kendoTreeView");var getitem = treeview.dataSource.get("id");
 if (typeof (getitem) != "undefined") {
 var selectitem = treeview.findByUid(getitem.uid);
 if (typeof (selectitem) != "undefined") {
 
 
 treeview.select(selectitem);
 treeview.expandTo(treeview.dataItem(selectitem));
 }
 }
 
 |