Telerik Forums
UI for ASP.NET MVC Forum
6 answers
522 views

Hi,

I've recently found an issue with the combobox where a user can type in any number on the combobox and it will save if the foreign key exists on the database - regardless of checking whether or not the value is valid for use or not.

Why does the combobox treat typing in a random number as the FK of the control anyway when it doesn't do the same thing if you type in a random character?

Anyway the above is a question for a different time but after finding this out, I've found there's an article on how to avoid these kind of situations using JavaScript on this page: 

https://docs.telerik.com/kendo-ui/knowledge-base/prevent-submission-of-missing-value

While trying to implement this logic, I can see that it's working (by not allowing the random number selection to be saved), but I've noticed there's actually an error on the first round of "select" call as the loading icon is displayed on the combo box.

 

The specific line is the "this.select(0)" line from the code snippet below:

if (this.value() && this.selectedIndex == -1) {   
    this.dataSource.filter({
        value: this.value(),
        field: this.options.dataTextField,
        operator: "contains"
    });
 
    this.select(0);  <=== this line is causing the issue.
 
    if ( this.selectedIndex == -1 ) {                   
        this.text("");
    }
}

 

 

Upon closer inspection, I see that there's a 500 error being thrown due to the "Page" parameter being set to NaN and the "PageSize" parameter being set to 0.

https://.../Items?sort=&group=&filter=NameDisplay~contains~%2712%27&page=NaN&pageSize=0

 

Any subsequent searches works without any issues and sets the "Page" and "PageSize" to the correct values.

https://.../Items?sort=&page=1&pageSize=80&group=&filter=NameDisplay~contains~%2712%27

 

This is very strange as the 500 error (above) only displays the first time this.select(0) is called, but any subsequent times will work without any issues.

 

While trying to reproduce this, I've found that it only occurs when the combobox has a valuemapper set to it.

.Virtual(v => v.ItemHeight(26).ValueMapper("itemsValueMapper"))

 

 

When the valuemapper function is removed from the combobox, the this.select(0) functions runs without any issues.

 

The value mapper is required for my comboboxes as it provides a good way to virtualise my lists.

 

My datasource is using webapi as below:

.DataSource(source =>
{
    source.Custom()
        .ServerFiltering(true)
        .ServerPaging(true)
        .PageSize(80)
        .Type("webapi")
        .Transport(transport =>
        {
            transport.Read(a => a.Url(itemsUrl));
        })
        .Schema(schema =>
        {
            schema.Data("Data")
                    .Total("Total");
        });
})

 

 

Is there any work around that can be done for this?

Or even better, is there a way to prevent the combobox from binding random number values typed into the control?

Veselin Tsvetanov
Telerik team
 answered on 13 Jul 2020
1 answer
267 views

Hi All,

 

I have a requirement to show collapse icon (after clicking the expand icon) whether it has a child nodes or not.

 

Thanks

Aleksandar
Telerik team
 answered on 13 Jul 2020
9 answers
1.2K+ views
Hi, we always load all js files at the bottom of a page because of performance. Before the </body> closing tag.
If we shift the JS files from head to the end of the file, Kendo controls are not working.
All the JS files are loaded correct if we check the network traffic with firebug tool.

Is it an known issue? and we have always to load all the scripts in head?

I made a 2nd quick test with the keno example code.
Open kendoui.trial.2012.3.1114\wrappers\aspnetmvc\Examples\Areas\razor\Views\Shared\_WebLayout.cshtml and shifted the following scripts to the bottom. Than load e.g. the datepicker example page (http://localhost/kendo/razor/web/datepicker/index)

    <script src="@Url.Content("~/Scripts/jquery.min.js")"></script>
    <script src="@Url.Content("~/Scripts/kendo.web.min.js")"></script>
    <script src="@Url.Content("~/Scripts/kendo.aspnetmvc.min.js")"></script>
    <script src="@Url.Content("~/Scripts/console.min.js")"></script>
    <script src="@Url.Content("~/Scripts/prettify.min.js")"></script>

Same problem. If I open the datepicker test page. Datepicker is not working.
Thanks for your help.
Regards fan
Marin Bratanov
Telerik team
 answered on 09 Jul 2020
3 answers
374 views

Hi everyone,

not sure if I found a bug or if i'm just doing it wrong.

What I try is to create a grid that is per default grouped with GroupPaging and has a checkbox selection column with PersistSelection.

However I only get a js error "Cannot read property 'undefined' of undefined" @init._restoreSelection (kendo.all.min.js:62).

I tried adding an Id field but it still doesn't work. Only changed error to "Cannot read property 'Id' of undefined".

If I remove the PersistSelection it works fine.

Html.Kendo().Grid<MyViewModel>()
                   .Name("myGrid")
                   .Columns(c =>
                   {
                       c.Select().Width(50);
                       c.Bound(x => x.Id).Hidden();
                       c.Bound(x => x.ArticleNo);
                       c.Bound(x => x.ArticleGroup).ClientGroupHeaderTemplate("<input class=\"k-checkbox groupSelect\" type=\"checkbox\"> #= value  #").Hidden();
                   })
                   .PersistSelection()
                   .ToolBar(t => t.Search().Text(Localizer.Lang_SearchInTable))
                   .Events(x => x.DataBound("eventMyGridDataBound"))
                   .DataSource(dataSource => dataSource
                                   .Ajax()
                                   .PageSize(50)
                                   .GroupPaging(true)
                                   .Group(x => x.Add(y => y.ArticleGroup))
                                   .Read("GridRead", "Article")
                                   .Model(m =>
                                   {
                                       m.Id(f => f.Id);
                                       m.Field(f => f.ArticleNo);
                                       m.Field(f => f.ArticleGroup);
                                   }))

 

Best Regards

Nils

Nikolay
Telerik team
 answered on 08 Jul 2020
8 answers
1.5K+ views
Hi,

I'm using the Kendo Grid in my application.

In my Grid I just need to insert rows and delete them. Update should not be possible.

If I define the Grid as follows, I dont have an update button to save the values. If I specify the Update function, I get the Update Button.

How can I achieve this?

Greets

.Columns(
    col =>
    {
        col.Command(c => { c.Destroy(); }).Width(250);
        ...
    })
    .ToolBar(c => c.Create())
Andy
Top achievements
Rank 1
 answered on 07 Jul 2020
1 answer
2.5K+ views

Hello,

We have a business requirement where the rows in the grid should all be in editable mode, i.e. show textbox or dropdown etc for each of the columns for each row.

The default implementation only shows a textbox in the field that a user is editing, the others display as labels.

When we tried with custom templates, it seems it does not support 2-way model databinding.

 

Please advise.

Thanks.

Neli
Telerik team
 answered on 06 Jul 2020
5 answers
191 views

Hello All, I followed this example https://demos.telerik.com/aspnet-mvc/grid/server-grouppaging-virtualization to implement in my project, however i am getting error while doing grouping with mutiple columns, i tried searching in the forms for a solution but no luck. 

This is my Code below

Html.Kendo().Grid<Project.ViewModels.ListViewModel>()
    .Name("GridName")
    .Columns(columns =>
    {
        columns.Select().Width(50).HtmlAttributes(new { @class = "checkbox-align" }).HeaderHtmlAttributes(new { @class = "checkbox-align" });
        columns.Bound(p => p.Company);
        columns.Bound(p => p.Country);
        columns.Bound(p => p.City);
        columns.Bound(p => p.CodeSociete);
    })
    .ToolBar(toolbar =>
    {
        toolbar.Create();
 
    })
    .ColumnMenu(col => col.Filterable(true))
    .Height(550)
    .Sortable(sortable=>sortable.Enabled(true))
    .Navigatable()
    .Resizable(r => r.Columns(true))
    .Groupable()
    .Filterable(filterable => filterable
        .Enabled(true)
        .Extra(true)
        .Operators(operators => operators
            .ForString(str => str.Clear()
                .StartsWith("Starts with")
                .IsEqualTo("Is equal to")
                .IsNotEqualTo("Is not equal to")
            ))
        )
    .Scrollable(scrollable => scrollable.Virtual(true))
    .Events(events => events.DataBound("onDataBound"))
    .DataSource(dataSource => dataSource
    .Ajax()
    .Events(events =>
        events.Error("error_handler")
    )
    .Model(model =>
    {
        model.Id(p => p.ID);
    })
    .GroupPaging(true)
    .PageSize(50)
    .Read("DetailProducts_Read", "List")
    )
)

 

My Controller class ListController.cs

[HttpPost]
        public ActionResult DetailProducts_Read([DataSourceRequest]DataSourceRequest request)
        {
 
                IEnumerable<List_Entity> list = myService.getAll(out totalRecords, this.UserId.ToString());
                listDB = list
                    .Select(f => new ListViewModel()
                    {
                        ID = f.ID,
                        Company= f.Company,
                        Country= f.Country,
                        City= f.City,
                        CodeSociete= f.CodeSociete

,
                    }).ToList();
 
        DataSourceResult result = listDB.ToDataSourceResult(request);
               
                result.Total = (int)totalRecords;
                return new JsonResult() { Data = result, JsonRequestBehavior = JsonRequestBehavior.AllowGet, MaxJsonLength = Int32.MaxValue };
    }

 

When i run the application virtualisation,sorting,filtering,paging works perfectly without grouping, when i try to group with first colum drag and drop all the events work perfectly, but when i try to drag second column to grouping i get the following error (errorDebug.png) and in the browser console window i have this error

Uncaught TypeError: Cannot read property 'length' of undefined
    at Function.map (jquery-1.10.2.js:789)
    at init.groups (kendo.aspnetmvc.js:212)
    at proxy (jquery-1.10.2.js:841)
    at init.groups (kendo.all.js:6508)
    at init._readData (kendo.all.js:7371)
    at init.success (kendo.all.js:7575)
    at success (kendo.all.js:7527)
    at Object.n.success (kendo.all.js:6404)
    at fire (jquery-1.10.2.js:3062)
    at Object.fireWith [as resolveWith] (jquery-1.10.2.js:3174)

 

Could you please help me to resolve this issue?

 

 

 

Geetha
Top achievements
Rank 1
Veteran
 answered on 06 Jul 2020
3 answers
1.3K+ views

Hello All,

I have a Kendo grid where all of its columns do not fit into the grid width. 

If there is a least one row of data to display the grid shows a horizontal scrolling bar.

However if there is no data, there is no horizontal scrolling bar. Even though it is a cosmetic issue and it happens when there is nothing to display, some of my users complain and want to have horizontal scrolling bar displayed.

Is there any way to get this done?

 

Thank you!

 

 

 

Nikolay
Telerik team
 answered on 03 Jul 2020
1 answer
482 views

The FileManager breadcrumb links for previous folders don't seem to work like I would expect. Instead of opening the folder that was clicked on, it appears that the breadcrumb link leads to "#". Clicking on the root folder icon seems to work correctly (opens the root folder) but folder links don't seem to work out of the box.

Is there some kind of configuration that I'm missing?

Petar
Telerik team
 answered on 03 Jul 2020
1 answer
365 views
     As per subject. When a new table is created, all cells contain a non-blank white space HTML character (&nbsp;). Is there any way to initialize the control so that it contains nothing, zip, nada?
Ivan Danchev
Telerik team
 answered on 02 Jul 2020
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
ComboBox
Upload
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
Dialog
MultiColumnComboBox
DropDownTree
Checkbox
Slider
Switch
Notification
Accessibility
ListView (Mobile)
Pager
Security
ColorPicker
DateRangePicker
Wizard
Styling
Chat
DateInput
MediaPlayer
TileLayout
Drawer
SplitView
Template
Barcode
ButtonGroup (Mobile)
Drawer (Mobile)
ImageEditor
RadioGroup
Sparkline
Stepper
TabStrip (Mobile)
GridLayout
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
SmartPasteButton
PromptBox
SegmentedControl
LLM Kit
+? more
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?