Telerik Forums
UI for ASP.NET MVC Forum
0 answers
432 views

Hello,

I am working on Kendo Grid and wants to perform all operation server side.

For now, everything is working, except, when I call Read action and find the correct page number, and set it on the DataSourceResult, the object is found on the Grid, Selected and Highlighted as expected,
but the UI Pager value always shows 1/set to 1, no matter what Page value I have set in the DataSourceResult.

Below is my cshtml code:

@(Html.Kendo().Grid<dynamic>()
      .Name($"Grid_{Model.Name}")
      .Columns("Some Columns")
      .Pageable(Model.Pager)
      .Filterable(ftb => ftb
         .Mode(GridFilterMode.Row)
      )
      .DataSource(dataSource => dataSource
         .Ajax()
         .Read(read => read.Action("GetBrowseResults", Model.Controller, new { area = string.Format("Module/{0}", Model.Controller), theTypeToBrowse = Model.TypeToBrowse, theGroupObj = Model.IsGroupType }))
         .PageSize(Model.IsTouchDevice ? 20 : 100)
      .ServerOperation(true)
      )
      .Events(events => events.Change("LibraryRecordSelected").DataBound("LibraryDataBound"))
)

 

And here is the C# code:

public ActionResult GetBrowseResults([DataSourceRequest] DataSourceRequest theRequest, string theTypeToBrowse, string theGroupId, bool theGroupObj)
      {
         var browseResult = GetBrowseResults(theTypeToBrowse, theGroupId, theGroupObj);

         if (browseResult != null)
         {
            var ret = FilterBrowseModel(browseResult, theRequest);
            var result = Json(ret.Item1.ToDataSourceResult(ret.Item2));
            result.MaxJsonLength = int.MaxValue;
            return result;
         }
      }
          
public (List<BrowseModel>, DataSourceRequest) FilterBrowseModel(IEnumerable<BrowseModel> theBrowseModel, DataSourceRequest theDataSourceRequest)
      {
         var ret = new List<BrowseModel>();
         int total = theBrowseModel?.Count() ?? 0;

         if (total > 0)
         {
            bool reset = true;

            if (theDataSourceRequest.Page > 0 && theDataSourceRequest.PageSize > 0)
            {
                  var objectData = GetObjectData(HttpContext.Request.RequestContext.RouteData.Values["controller"].ToString());
                  if (objectData?.ObjectTxt != null)
                     theDataSourceRequest.Page = (theBrowseModel.ToList().FindIndex(x => x.ObjectTxt == objectData.ObjectTxt)) / theDataSourceRequest.PageSize + 1;
            }

            if (reset)
               ret.AddRange(theBrowseModel);
         }

         return (ret, theDataSourceRequest);
      }


Ammad
Top achievements
Rank 1
 asked on 07 Mar 2022
1 answer
447 views

I need to be able to add a form button in the content using the editor. Using the "view html" tool, I am able to create a button. However, I need this button to have an "onclick" property. This was possible in pervious rad editor. Is this a possibility in the current editor? 

Currently, that "onclick" property value gets stripped out when pressing "update". 

<inupt type="button" onclick="myfunction()" value="here" /> 


Aleksandar
Telerik team
 answered on 03 Mar 2022
1 answer
300 views

Hey guys,

I got the problem that "ContentHtmlAttributes" are not applied when loading with "LoadContentFrom".

Same problem as in this thread, but that one is old and was posted in community forum. 

 

My TabStrip:

@(Html.Kendo().TabStrip()
	  .Name("tabStripNav")
	  .Items(x =>
	  {
		  x.Add()
		   .Text("Header 1")
		   .ContentHtmlAttributes(new { style = "background-color: red !important;" })
		   .LoadContentFrom("Action1", "Controller", new{itemId = Model.Id});
		  x.Add()
		   .Text("Header 2")
		   .LoadContentFrom("Action2", "Controller", new{itemId = Model.Id});
		  x.Add()
		   .Text("Header 3")
		   .LoadContentFrom("Action3", "Controller", new{itemId = Model.Id});
	  })
	)

Am I doing anything wrong here?

Best regards

Nils

Eyup
Telerik team
 answered on 03 Mar 2022
0 answers
134 views

I changed the value of checkboxes of a column filter, because I use a custom template in the column. I need to change the operator from 'equal' to 'contains', but if I change the grid won't show the filters.

Operator changed to "contains":

Without changed the operator:

I use this method to change operator (this method subscribed to grid's Filter event):

function gridFilter(e) {
    if (e.filter) {
        e.filter.filters.forEach(function (f) {
            f.operator = "contains";
        })
    }
}

What did I wrong? Why does not work the multifilter with "contains" operator?

 

 

SCH
Top achievements
Rank 1
 asked on 03 Mar 2022
5 answers
165 views
Good morning,

we would need to implement the following excel-like functions on a Telerik spreadsheet:
 - Average/Sum/Count of the selected cells. (sum-avarage-count.jpg)
 - copy-paste in the cells below with respect to a cell selected by double clicking in the lower-right corner. (copy-paste double click 1/2.jpg)

Are there any options in Telerik to replicate these features?

Kind regards,
Eyup
Telerik team
 answered on 03 Mar 2022
1 answer
168 views

I have a grid that contains a child detail spreadsheet.  I am trying to duplicate some code I used from another Kendo Spreadsheet, but each spreadsheet and Export button needs to have a unique id.  In the form I am using to export the Excel for the spreadsheet, I am using a Kendo Button to allow addition of the unique id (TplNum) from the parent grid.  For some reason, the template is not valid when I add the Kendo Button.  Any ideas?

I was going to use the Click event to determine the TplNum based on location of the button or the button id field in the Javascript callback, but thought that was giving me problems.  Currently, I gave the buttons a class, "export_excel" and I'm trying to create a jQuery onClick function in my document.load, which is invoked based on class, rather than id.

    $(document).ready(function () {
        $(".export_excel").click(function (e) {

        }

   }

<script id="campaign_template" type="text/kendo-tmpl">

        @using (Html.BeginForm("SpreadsheetDownload", "Campaign", FormMethod.Post, new { @class = "form-horizontal", role = "form", id = "spreadsheet_form_#=TplNum#" }))
        {
            @Html.Hidden("data", null, htmlAttributes: new { name= "data", id = "download-data_#=TplNum#" });
            @Html.Hidden("extension", null, htmlAttributes: new { name = "extension", id = "download-extension_#=TplNum#" });
            @(Html.Kendo().Button()
                    .Name("export_excel")
                    .HtmlAttributes(new { type = "button", id = "export_excel_#=TplNum#", @class = "export_excel" })
                    .Content("Export to Excel"));
                    //.Events(e => e.Click("ExportExcel")));
        }
Eyup
Telerik team
 answered on 28 Feb 2022
1 answer
218 views

Good morning,

in a Telerik spreadsheet, is there a property to set the number of maximum decimal places of the value of each single cell? what default value has this property set?
What scope does it have? Is it set for each single cell or on the entire spreadsheet?

For example we have a cell that has value with 11 decimal places, how can we modify it (increase or decrease it)?

Kind regards,

Eyup
Telerik team
 answered on 25 Feb 2022
1 answer
199 views

Good morning,

is there the possibility on a Telerik spreadsheet to increase the maximum limit of digits (currently 15 digits) for cells with format number?

 

Kind regards,

Eyup
Telerik team
 answered on 25 Feb 2022
0 answers
943 views

I have a switch control, placed inside of a tab control, in a client detail template, as part of a grid.

I need to bind the switch checked property, to a value stored in the grids dataset, which is a Boolean. However, the code causes the error:-

Preprocessor directives must appear as the first non-whitespace character on a line

The code is:-

<script id="subsubdetailsTemplate" type="text/kendo-tmpl">

@(Html.Kendo().TabStrip().Name("Tabstrip_#=ReportID#")
         .Items(i =>
         {

         i.Add().Text("Report Details").Selected(true).Content(@<text>


    <div>

    <p> #=HideOnCatalogue#</p>

    Hide from Catalogue?:
     @(Html.Kendo().Switch()
                    .Name("switch_#=ReportID#")
                    .Events(e => e.Change("function(e){ switchChange(e, '#=ReportID#')}"))
        .Checked(#=HideOnCatalogue#)
        .Messages(c => c.Checked("YES").Unchecked("NO"))
        .ToClientTemplate()
    )


    </div>
    </text>);

       



         }).ToClientTemplate())


</script>

How can I bind the value to the switch?  I can display the value in a <p> tag without a problem, as well as passing the report ID to the function called when the switch is clicked.

Thanks

AP
Top achievements
Rank 1
Iron
Iron
Veteran
 asked on 24 Feb 2022
0 answers
245 views

Each Filter only loads Once!     After a full page refresh/reload, and a page search and data load to the Grid/dataSource

- then the Grid Filters (smart drop downs) will load after clicking the first time (only) based on grid data values.

However, when the query is changed to load more or less data in the grid with a new "dataSource.read()"

- Then the Filters are never cleared or reloaded, so are no longer "Smart" based on the (new) data in the grid?

Have tried everything online and in forums to clear the filters, nothing works. 

The datasource "filter" method is read (get) only - why is there no "flush" or "clear" or reload method for the filter(s)?

Is there a list indicating whether that filter was already activated (container created) or not, that you could just clear after removing the containers!?   (last 4 lines below)

Scott
Top achievements
Rank 1
 updated question on 23 Feb 2022
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
Upload
ComboBox
MultiSelect
ListView
Window
TabStrip
Menu
Installer and VS Extensions
Spreadsheet
AutoComplete
TreeList
Gantt
PanelBar
NumericTextBox
Filter
ToolTip
Map
Diagram
Button
PivotGrid
Form
ListBox
Splitter
Application
FileManager
Sortable
Calendar
View
MaskedTextBox
PDFViewer
TextBox
Toolbar
MultiColumnComboBox
Dialog
DropDownTree
Checkbox
Slider
Switch
Notification
ListView (Mobile)
Pager
Accessibility
ColorPicker
DateRangePicker
Wizard
Security
Styling
Chat
MediaPlayer
TileLayout
DateInput
Drawer
SplitView
Barcode
ButtonGroup (Mobile)
Drawer (Mobile)
ImageEditor
RadioGroup
Sparkline
Stepper
TabStrip (Mobile)
GridLayout
Template
Badge
LinearGauge
ModalView
ResponsivePanel
TextArea
Breadcrumb
ExpansionPanel
Licensing
Rating
ScrollView
ButtonGroup
CheckBoxGroup
NavBar
ProgressBar
QRCode
RadioButton
Scroller
Timeline
TreeMap
TaskBoard
OrgChart
Captcha
ActionSheet
Signature
DateTimePicker
AppBar
BottomNavigation
Card
FloatingActionButton
Localization
MultiViewCalendar
PopOver (Mobile)
Ripple
ScrollView (Mobile)
Switch (Mobile)
PivotGridV2
FlatColorPicker
ColorPalette
DropDownButton
AIPrompt
PropertyGrid
ActionSheet (Mobile)
BulletGraph
Button (Mobile)
Collapsible
Loader
CircularGauge
SkeletonContainer
Popover
HeatMap
Avatar
ColorGradient
CircularProgressBar
SplitButton
StackLayout
TimeDurationPicker
Chip
ChipList
DockManager
ToggleButton
Sankey
OTPInput
ChartWizard
SpeechToTextButton
InlineAIPrompt
TimePicker
StockChart
RadialGauge
ContextMenu
ArcGauge
AICodingAssistant
+? more
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?