or
@(Html.Kendo().Grid<SomeCollection>() .Name("grdTest") .Columns(columns => { columns.Bound(t => t.Column1).Width(25).Title("Column1")
.ClientTemplate("#if(Param1!=null){# <a class='locationLink' href='javascript:void(0)'data-param1='#=Param1#' data-param2='#=Param2#'>#=Column1#</span> #} else {##}#");
columns.Bound(t => t.Column2).Width(100).Title("Column2"); }) .DataSource(dataSource => dataSource .Ajax() .PageSize(100) .Read(read => read.Action("MyMethod", "MyController", @Model)) .ServerOperation(true) ) .Pageable() .Scrollable(s => s.Height("auto")) .Reorderable(reorder => reorder.Columns(true)) .Resizable(resize => resize.Columns(true)) .Sortable(sort => sort.SortMode(GridSortMode.MultipleColumn).AllowUnsort(true)) .Navigatable() .Selectable(selectable => selectable.Mode(GridSelectionMode.Single)) .Sortable() )<script type="text/javascript">$(document).ready(function () { var grid = $("#grdTest").kendoGrid().data("kendoGrid"); grid.table.kendoTooltip({ filter: "a.locationLink", position: "top", width: 500, height: 250, content: { url: '@Url.Action("PopupViewContentMethod","Controller")' }, requestStart: function (e) { e.options.data = { parameter1: $(e.target[0]).attr("data-parameter1"), paremeter2: $(e.target[0]).attr("data-parameter2") } } });});</script>Hi!
001.{002. "data": [003. {004. "id": 0,005. "firstname": "Hudson",006. "lastname": "Lynn",007. "gender": "male",008. "email": "hudsonlynn@emtrak.com",009. "phone": "699-434-2739",010. "address": "70 Delmonico Place, Roberts, New York",011. "birthday": "03/07/1968",012. "currency": "CHF"013. },014. {015. "id": 1,016. "firstname": "Michelle",017. "lastname": "Stanton",018. "gender": "female",019. "email": "michellestanton@emtrak.com",020. "phone": "699-374-6225",021. "address": "55 Gotham Avenue, Makena, Maryland",022. "birthday": "14/03/1965",023. "currency": "CHF"024. },025. {026. "id": 2,027. "firstname": "Marsh",028. "lastname": "Reilly",029. "gender": "male",030. "email": "marshreilly@emtrak.com",031. "phone": "699-546-0025",032. "address": "22 Mayfair Drive, Westmoreland, Nevada",033. "birthday": "17/07/1988",034. "currency": "CAD"035. }036. ],037. "columns": [038. {039. "field": "firstname",040. "title": "Frist Name",041. "width": 200,042. "attributes": {043. "class": "",044. "style": "text-align: left;"045. },046. "headerAttributes": {047. "class": "table-header-cell",048. "style": "text-align: left;"049. }050. },051. {052. "field": "lastname",053. "title": "Last Name",054. "attributes": {055. "class": "",056. "style": "text-align: left;"057. },058. "headerAttributes": {059. "class": "table-header-cell",060. "style": "text-align: left;"061. }062. },063. {064. "field": "gender",065. "title": "Gender",066. "attributes": {067. "class": "",068. "style": "text-align: left;"069. },070. "headerAttributes": {071. "class": "table-header-cell",072. "style": "text-align: left;"073. }074. },075. {076. "field": "email",077. "title": "e-mail",078. "attributes": {079. "class": "",080. "style": "text-align: left;"081. },082. "headerAttributes": {083. "class": "table-header-cell",084. "style": "text-align: left;"085. }086. },087. {088. "field": "phone",089. "title": "Phone Number",090. "attributes": {091. "class": "",092. "style": "text-align: right;"093. },094. "headerAttributes": {095. "class": "table-header-cell",096. "style": "text-align: right;"097. }098. },099. {100. "field": "address",101. "title": "Address",102. "attributes": {103. "class": "",104. "style": "text-align: left;"105. },106. "headerAttributes": {107. "class": "table-header-cell",108. "style": "text-align: left;"109. }110. },111. {112. "field": "birthday",113. "title": "Birthday",114. "attributes": {115. "class": "",116. "style": "text-align: center;"117. },118. "headerAttributes": {119. "class": "table-header-cell",120. "style": "text-align: center;"121. }122. },123. {124. "field": "currency",125. "title": "Currency",126. "attributes": {127. "class": "",128. "style": "text-align: center;"129. },130. "headerAttributes": {131. "class": "table-header-cell",132. "style": "text-align: center;"133. }134. }135. ]136.}01.var customersSource = new kendo.data.DataSource({02. transport: {03. read: {04. url: crudServiceBaseUrl + "/customers.json",05. dataType: "json"06. }07. },08. schema: {09. data: "data"10. }11. });1.$scope.mainGridOptions = {2. dataSource: customersSource,3. //columns: customersSource.columns???,4. height: 500,5. scrollable: true,6. selectable: true7. };return (new Rotativa.ActionAsPdf("PrintTrailerPage", new { id = id, barcodeType = Request.Params["barcodeType"] ?? "qrcode" }) { FileName = String.Format("Trailer Page for {0}.pdf", model.DocumentName, model.BarcodeValue, model.ID), PageSize = Rotativa.Options.Size.Letter, PageOrientation = Rotativa.Options.Orientation.Portrait, PageMargins = { Left = 0, Right = 0, Top = 0, Bottom = 0 } });columns: [ { field: "accounting_category", title: "CATEGORY" }, { field: "gl_code", title: "GL CODE", editor: glCodeMaskedTextEditor } ]function glCodeMaskedTextEditor(container, options) { $('<input class="gl-code-edit" data-text-field="gl_code"
data-value-field="gl_code_id" data-bind="value:' + options.field + '"/>') .appendTo(container) .kendoMaskedTextBox({ mask: "99999999999999999999", promptChar: " " });}

application.navigate('#loan-promotion-length');$('#field-promotion-length').focus();//State ComboBox<td><span class="k-widget k-combobox k-header" style="width: 180px;"><span class="k-dropdown-wrap k-state-default" unselectable="on" tabindex="-1"><input class="k-input" type="text" autocomplete="off" name="State_input" style="width: 100%;" role="combobox" aria-expanded="false" placeholder="Select..." tabindex="0" aria-disabled="false" aria-readonly="false" aria-autocomplete="list" aria-owns="State_listbox" aria-busy="false" aria-activedescendant="State_option_selected"><span class="k-select" unselectable="on" tabindex="-1"><span class="k-icon k-i-arrow-s" unselectable="on" role="button" tabindex="-1" aria-controls="State_listbox">select</span></span></span><input id="State" class="k-invalid" style="width: 180px; display: none;" validationmessage="This is a required field." required="required" data-value-primitive="true" data-bind="value:State.Code" name="State" data-role="combobox" aria-disabled="false" aria-readonly="false" aria-invalid="true"><div class="k-widget k-tooltip k-tooltip-validation k-invalid-msg" style="margin: 0.5em;" data-for="State" role="alert"><span class="k-icon k-warning"> </span>This is a required field.<div class="k-callout k-callout-n"></div></div></span></td>//ZIp text Box<td><input id="Zip" class="k-input k-textbox k-invalid" type="Zip" style="width:180px;" validationmessage="This is a required field." required="required" maxlength="10" data-bind="value:Zip" name="Zip" aria-invalid="true"><div class="k-widget k-tooltip k-tooltip-validation k-invalid-msg" style="margin: 0.5em;" data-for="Zip" role="alert"><span class="k-icon k-warning"> </span>This is a required field.<div class="k-callout k-callout-n"></div></div></td> <tr>
<td>
<input type="text" id="City" class="k-input k-textbox" name="City" data-bind="value:City" maxlength="30" required="required" validationMessage="This is a required field." style="width:180px;"/>
</td>
</tr> <input id="State" name="State" data-bind="value:State.Code" data-value-primitive="true" required="required" validationMessage="This is a required field." style="width: 180px;" />
</td>
</tr>
<input type="Zip" id="Zip" class="k-input k-textbox" name="Zip" data-bind="value:Zip" maxlength="10" required="required" validationMessage="This is a required field." style="width:180px;" />
<span data-for="Zip" class="k-invalid-msg"></span>
</td>
</tr>.k-tooltip-validation.k-invalid-msg{ display:inline-block; } .k-invalid-msg .k-callout{ display:none;}$("#State").kendoComboBox({ placeholder: "Select...", dataTextField: "Code", dataValueField: "Code", headerTemplate: '<div class="dropdown-header">' + '<span class="k-widget k-header">Code</span>' + '<span class="k-widget k-header">Name</span>' + '</div>', valueTemplate: '<span>#:data.Code#</span>', template: '<span class="k-state-default">#:data.Code#</span>' + '<span class="k-state-default">#:data.Name#</span>', dataSource: { transport: { read: { url: crudServiceBaseUrl + "/GetStates" } } }, filter:"startswith" });