Telerik Forums
Kendo UI for jQuery Forum
1 answer
86 views

Hi Kendo Team,

While working with the spreadsheet's custom validation feature, my team stumbled on what seems to be a bug with the AND function when checking cell values.  When checking the LEN() of a cell's value before an ISNUMBER() check, the validation will sometimes completely ignore the ISNUMBER.  This bug does not seem to happen in every situation but when it does it can be nearly impossible to pinpoint in one's own code without accidentally fixing it by changing the order of logic.  I've managed to consistently replicate what I'm experiencing in the dojo link below:

     http://dojo.telerik.com/EMAKI

The dojo link contains your spreadsheet validation demo -- the only thing that has changed from the original demo is the validation in cells D3 and D4.  Both are observing cells F3 and G3, checking that F3 is a number and that G3 is empty.  The only thing different about the validation in cells D3 and D4 is the order in which we check the other two cells within the AND function.  However, you can note inconsistent behavior here the moment you run it.  You will see that while both D3/D4 cells become flagged if G3 is not empty, D3 does not seem to check whether or not F3 is a number.  Putting a non-numeric string into F3 or leaving it empty will cause D4 to display the warning but not D3.

 

So -- bug or am I overlooking something obviously wrong?

Thanks,

Jeff

Stefan
Telerik team
 answered on 20 Oct 2016
7 answers
912 views

This is in relation to a DataSource in a Kendo UI Grid that does server side filtering to an OData v4 service.

I know the solution to my problem, I just don't know how to get the DataSource to implement it.  How can I force the query that ends up going to the OData service to not include the time portion of a date? Is there a method I can implement that will allow me to modify the URL just before the http get is performed?

 

When I apply a filter with the type set to "is equals to" the get request for the service looks like this.

https://localhost/Application?$filter=(DOB eq 1997-01-27T00:00:00+00:00)

 

If I could just get the DataSource to request this instead...

https://localhost/Application?$filter=(DOB eq 1997-01-27)

My problem would be solved.  Anyone know how I can resolve this?  Thanks!

Scott
Top achievements
Rank 1
 answered on 20 Oct 2016
3 answers
808 views

Without grouping - right now, I have the aggregates configured in the footer (photo attached).

Is there a way to add the same aggregates row right below the headers (top of the grid above the data)? 

Alex Hajigeorgieva
Telerik team
 answered on 20 Oct 2016
1 answer
1.3K+ views

Here is an example which demonstrates the issue I am having. http://dojo.telerik.com/EcEgo

To reproduce the issue, delete the value in the numeric text box and than click validate button. You should see the error message in the <span data-for="UnitPrice" class="k-invalid-msg"></span> which is defined by me in the DOM. After than click inside the numeric text box (focus) and then click outside the numeric text box to lose focus. You'll see 2nd validation message to appear.

 

My question is - why this happens? Am I doing something wrong or this is a defect in NumericTextBox?

Thanks.

Stefan
Telerik team
 answered on 20 Oct 2016
1 answer
123 views

Hi,

when you have a grid with a scrollbar, then the command Buttons are not shown example:

 

http://dojo.telerik.com/utoFA/2

 

when you change the "2000px" width to "200px" then you see the details and remove button.

Dimiter Topalov
Telerik team
 answered on 20 Oct 2016
1 answer
805 views

I found this article: http://docs.telerik.com/kendo-ui/controls/layout/window/how-to/display-loading-overlay

But that seems to work with just one button. My button is in a grid, so there are multiple buttons with the id of showOverlay. Here's how everything looks:

@(Html.Kendo().Grid<vNPISearch>()
            .Name("npi-grid")
            .DataSource(dataSource => dataSource
                .Ajax()
                .Model(model => model.Id(x=>x.NPI))
                .PageSize(10)
                .ServerOperation(true)
                .Read(read => read.Action("NPI_Read", "Pecos")))
            .Columns(columns =>
            {
                columns.Template(x => { }).ClientTemplate("#=GetPecosStatus(PecosNPI) #").Width(50);
                columns.Bound(x => x.ProviderFirstName).Title("First Name");
                columns.Bound(x => x.ProviderLastName).Title("Last Name");
                columns.Bound(x => x.ProviderBusinessLocationAddressCity).Title("City");
                columns.Bound(x => x.ProviderBusinessLocationAddressState).Title("State");
                columns.Bound(x => x.NPI).Title("NPI");
                columns.Command(command => command.Custom("View Details").HtmlAttributes(new { id = "showOverlay" }).Click("showDetails")).Width(180);
            })
            //.ClientDetailTemplateId("template")
            .Scrollable(src => src.Height("auto"))
            .Sortable()
            .Pageable(pageable => pageable
                .Refresh(true)
                .PageSizes(true)
                .ButtonCount(5))
      )
 
@(Html.Kendo().Window().Name("Details")
    .Title("NPI Details")
    .Visible(false)
    .Modal(true)
    .Draggable(true)
    .Width(500)
    .Actions(builder => builder.Refresh().Close())
)
 
<script type="text/javascript">
    function showDetails(e) {
        e.preventDefault();
 
        var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
        var wnd = $("#Details").data("kendoWindow");
        wnd.refresh({
            // Url to the action fetching the partial view
            url: "/Pecos/GetNPIData",
            // The id passed to the action so that model can be found
            data: { npi: dataItem.NPI }
        });
        wnd.center().open();
    }
 
    $(function () {
        var windowWidget = $("#Details").data("kendoWindow");
 
        $("#showOverlay").click(function () {
            kendo.ui.progress(windowWidget.element, true);
        });
    });
</script>

 

Thank you for your help!

Boyan Dimitrov
Telerik team
 answered on 20 Oct 2016
1 answer
255 views

Using the Grid with inline batch editing, we noticed that when a script injection test was done, the server was throwing an error because the HTML tags are not encoded before posting. 

If you try the Batch Editing demo http://demos.telerik.com/kendo-ui/grid/editing and enter something like "<script>" into the Product Name column, the server will report a 500 error. 

A potentially dangerous Request.QueryString value was detected from the client (models=&quot;...uctName&quot;:&quot;&lt;script&gt;&quot;,&quot;UnitPrice...&quot;).

Is kendo.stringify not properly encoding the values before posting?  Suggestions to improve this scenario? 

Using Kendo UI for ASP.NET MVC R3 2016

 

Thank you. 

Vessy
Telerik team
 answered on 20 Oct 2016
1 answer
95 views

When using the right arrow key to move focus through Kendo menu items, the focus will not move past a disabled menu item.  Please see this dojo example, modified from the public demo:  http://dojo.telerik.com/@richm/AkabO

Using the left arrow key to move backwards through the menu seems to work.  Please advise on how to enable the right/forward arrow key to move through the entire menu.

Thanks - Rich

Stefan
Telerik team
 answered on 20 Oct 2016
1 answer
530 views

This dojo pretty much says it all: http://dojo.telerik.com/uTEpo

Try filtering out 1897 date with a date before 1/1/1900 and after 1/1/1900.

Filtering by any date after 1900 works.

Filtering by any date before 1900 does not work.

Thanks!

Alex Hajigeorgieva
Telerik team
 answered on 20 Oct 2016
3 answers
368 views

Two general questions from a relative beginner at this client side SPA stuff. I've had to bridge from a variety of "demos" (for which I'm thankful) and I thank you for any assistance you can provide.

I'm attempting to generate a datasource using sql to a local database which will then be bound to a mvvm listview and rendered via user interaction

Here's the Listview segment I'm using. Note that I've created my own 'accordion like' display mechanism which toggles the "display" which is why it's set to "none" initially in the div.

<div class = "no-arrow-listview" id = "hoursCategoryAttractionsListview" style = "display:none;">
             <ul data-role="listview" data-source=" app.GeneralEstateHours_Attractions_DataFile.data" data-template="hours-template" data-style = "inset"> </ul>
 </div>

 

Here's the code I'm working on to generate the datasource for the listview

app.GeneralEstateHours_Attractions_DataFile = {
            data: new kendo.data.DataSource({
               transport: {
                       read:  function(options) {
                       app.db.transaction(function(tx) {
                                    tx.executeSql('SELECT * from masterDataTable where appMapCategoryID = ? ', [ 'Attraction'],
                                                function(tx, result){
                                                            var data = [];
                                                            for (var i = 0; i < result.rows.length; i++){
                                                                        data[i] = result.rows.item(i);
                                                 }
                                                options.success(data);
                                    });
                        });
                  }
            },
            group: {
                        field: "appMapCategoryID"

            },
            sort:  {
                        field: "appListOrder", dir: "asc"
            }
            })
    };  

The issue is that if I omit the "group" filter from the datasource (though I can verify that there is a valid result set returned via the fetch function and some console output listed below) the listview does not display anything. Whereas, if I include the group filter (as I did in the code above) it does indeed render the listview but adds a header to the listview and I don't want to include the "header" that is generated by using the 'group' filter.

If I can't work with the raw return is there away to remove the "listview header" from the generated listview .


     app.GeneralEstateHours_Attractions_DataFile.data.fetch(function(){
            var test = app.GeneralEstateHours_Attractions_DataFile.data.view();
            //alert ("The length of attractions is " + test.length);
            for (var i = 0; i<test.length; i++){

          console.log("From the Fetch of the new GeneralEstateHours_Attractions_DataFile Data source we have " + test[i].title + "image" + test[i].image + " id = " + test[i].id + "");
        }
       });

Stefan
Telerik team
 answered on 20 Oct 2016
Narrow your results
Selected tags
Tags
Grid
General Discussions
Charts
Data Source
Scheduler
DropDownList
TreeView
MVVM
Editor
Window
DatePicker
Spreadsheet
Upload
ListView (Mobile)
ComboBox
TabStrip
MultiSelect
AutoComplete
ListView
Menu
Templates
Gantt
Validation
TreeList
Diagram
NumericTextBox
Splitter
PanelBar
Application
Map
Drag and Drop
ToolTip
Calendar
PivotGrid
ScrollView (Mobile)
Toolbar
TabStrip (Mobile)
Slider
Button (Mobile)
Filter
SPA
Drawing API
Drawer (Mobile)
Globalization
LinearGauge
Sortable
ModalView
Hierarchical Data Source
Button
FileManager
MaskedTextBox
View
Form
NavBar
Notification
Switch (Mobile)
SplitView
ListBox
DropDownTree
PDFViewer
Sparkline
ActionSheet
TileLayout
PopOver (Mobile)
TreeMap
ButtonGroup
ColorPicker
Pager
Styling
Chat
MultiColumnComboBox
Dialog
DateRangePicker
Checkbox
Timeline
Drawer
DateInput
ProgressBar
MediaPlayer
ImageEditor
TextBox
OrgChart
Accessibility
Effects
PivotGridV2
ScrollView
Switch
TextArea
BulletChart
Licensing
QRCode
ResponsivePanel
Wizard
CheckBoxGroup
Localization
Barcode
Breadcrumb
Collapsible
MultiViewCalendar
Touch
RadioButton
Stepper
Card
ExpansionPanel
Rating
RadioGroup
Badge
Captcha
Heatmap
AppBar
Loader
Security
TaskBoard
Popover
DockManager
FloatingActionButton
CircularGauge
ColorGradient
ColorPalette
DropDownButton
TimeDurationPicker
ToggleButton
TimePicker
BottomNavigation
Ripple
SkeletonContainer
Avatar
Circular ProgressBar
FlatColorPicker
SplitButton
Signature
Chip
ChipList
VS Code Extension
AIPrompt
PropertyGrid
Sankey
Chart Wizard
OTP Input
SpeechToTextButton
InlineAIPrompt
StockChart
ContextMenu
DateTimePicker
RadialGauge
ArcGauge
AICodingAssistant
SmartPasteButton
PromptBox
SegmentedControl
+? more
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
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?