Telerik Forums
UI for ASP.NET MVC Forum
1 answer
379 views

Hi,

I've got a property in my model:

DateTime _ValidTo;
[DisplayName("Gültig bis")]
[DataType(DataType.Date, ErrorMessage="Falsches Datumsfornmat")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true), ]
public DateTime ValidTo
{
     get { return _ValidTo; }
     set { _ValidTo = value; }
}

So in edit-mode the DatePicker is displayed.

But when I pick a a date, a message below the field appears The field "Gültig bis" must be a date.

This Message disappears when I enter the date in yyyy-MM-dd Format, but in ModelState this value is not accepted because of my property-attributes (this is a correct behaviour).

 

The question is, how can I get the Datepicker setup correctly correspondending my property-attributes?
I'm confused beacuse the Date ist picked correctly (in dd.MM.yyyy Format), but the picker itself does not accept it???

 

Greetings,

Denis

Daniel
Telerik team
 answered on 18 Jun 2015
1 answer
103 views

I'm new to Kendo UI MVC controls. I'm using a couple of grids inside a tabstrip. When I add a custom command to one of the grids, the grid does not render onto the page, but when I remove the custom command, it renders and displays the data as expected. Can anyone help? any help is greatly appreciated. My code is as follows.

 

<div id="jobstabdiv">
    @(Html.Kendo().TabStrip()
          .Name("Jobstabstrip")
          .Events(events => events
            .Select("selecttab"))
          .Items(tabstrip =>
          {
              tabstrip.Add().Text("Job Runs")
                  .Selected(true)
                  .Content(@<text>@RenderRunGrid()</text>);

              tabstrip.Add().Text("Incoming Files")
                  .Content(@<text>@RenderInFilesGrid()</text>);

          })
          .Events(tab => tab.Show("capturecurrenttab"))
    )
</div>

@helper RenderRunGrid()
{
    @(Html.Kendo().Grid<WI20Web.Models.RunsViewModel>()
        .Name("rungrid")
        .Columns(columns =>
        {
            columns.Command(command => command.Custom("status").Click("chgstatus"));
            columns.Bound(p => p.Id).Filterable(false).Width(50);
            columns.Bound(p => p.Mailshop_Job_Id).Width(200).Title("Mailshop Job Id");
            columns.Bound(p => p.Application_Id).Width(200).Title("App Id");
            columns.Bound(p => p.Application_Name).Title("App Name");
            columns.Bound(p => p.Status).Width(200);
            columns.Bound(p => p.Work_Order).Width(200).Title("Work Order");
            columns.Bound(p => p.Status).Hidden(true).ClientTemplate("<div class='run-status-#= Status#'></div>");
        })
        .Pageable()
        .Sortable()
        .Scrollable()
        .Filterable()
        .Groupable()
        .HtmlAttributes(new { style = "height:650px;" })
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(10)
            .Read(read => read.Action("List_Data", "Runs"))
        )
        .Resizable(resize => resize.Columns(true))
        .Reorderable(reorder => reorder.Columns(true))
        .Events(events => events.DataBound("hilite_runs"))
    )
}

@helper RenderInFilesGrid()
{
    @(Html.Kendo().Grid<WI20Web.Models.IncomingFileViewModel>()
        .Name("infilesgrid")
        .Columns(columns =>
        {
            columns.Bound(p => p.File_Path).Title("File Path");
            columns.Bound(p => p.File_Name).Title("File Name");
            columns.Bound(p => p.Date_Received).Title("Date Received").Format("{0:MM/dd/yyyy hh:mm:ss}");
            columns.Bound(p => p.File_Size).Title("File Size");
        })
        .Pageable()
        .Sortable()
        .Scrollable()
        .Filterable()
        .Groupable()
        .HtmlAttributes(new { style = "height:650px;" })
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(10)
            .Read(read => read.Action("List_Data", "InFiles"))
        )
        .Resizable(resize => resize.Columns(true))
        .Reorderable(reorder => reorder.Columns(true))
    )
}

@section scripts
{
    function chgstatus(e) {
    alert("Change Status");
    }
}

Tony
Top achievements
Rank 1
 answered on 17 Jun 2015
2 answers
123 views

Hello,

For a specific item in a PanelBar, I would like to display a tooltip using Bootstrap Javascript method.

Generally speaking, I am trying to understand how I can inject custom attribut to a specific panelBar item node from C# razor view.

Does the PanelBar helper provide a built-in mechanism ?

Regards.

 

 

Sylvain
Top achievements
Rank 1
 answered on 17 Jun 2015
1 answer
173 views

Hi guys,

I have a grid with amounts for each month of the year which has totals for rows and columns. I use aggregates for column totals and a javascript function for the Totals column and the grand total.

This works nicely when a user edits a row. When he comes out of edit mode the totals are recalculated properly.

Now comes the problem. We have a change values functionality which allows the user to setup a pattern for changing values, eg: decrease by 10 percent where amount > X. I cannot use .set(value) for setting the amount since the grid sometimes has 7 pages and calling that for many cells has a huge performance impact.

So how can I have all aggregates recalculated at the end of my function execution?

I'll mention that changes are batched and saved only when user presses the Save button.

Thank you,

Mircea D.

Daniel
Telerik team
 answered on 17 Jun 2015
1 answer
282 views

Hello Friends,

 

Good Morning.

 

I am using Kendo UI with ASP.Net MVC 4.0

I have bind grid using helper and used kendo grid grouping functionality. but the issue is I want to add some functionality while clicking on grouping column but the text value for all grouping label will be different. I have attached image and also a code sample can you please help me.

//Code Sample//

 <div id="dvPayrollReportGrid" class="kendo-responsive-grid-content">
@(Html.Kendo().Grid<Models.Productr>()
.Name("gridpayrollreport")
.Columns(columns =>
{
    columns.Bound(payroll => payroll.CheckDate).Format("{0:dd/MM/yyyy}");
columns.Bound(payroll => payroll.FromDate).Format("{0:dd/MM/yyyy}");
columns.Bound(payroll => payroll.ToDate).Format("{0:dd/MM/yyyy}");
        
    })
.Pageable(pageable => pageable
.Messages(messages => messages.Display("Payroll Reports {0} - {1} of {2}"))
)
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Read(read => read.Action("Action", "Controller"))
.Group(groups =>
{
groups.Add(payroll => payroll.CompanyName);


})
)
)

</div>

 

 

 

 

Alexander Popov
Telerik team
 answered on 17 Jun 2015
2 answers
164 views

 Hello,

 Can somebody please explain what is the purpose/interest of "virtualization" for Autocomplete ?

 http://demos.telerik.com/aspnet-mvc/autocomplete/virtualization

Regards.

Sylvain
Top achievements
Rank 1
 answered on 16 Jun 2015
2 answers
225 views

Hi All,

Struggling with a very peculiar problem.

I have a Kendo grid with kendo dropdownlist in some of the columns. The dropdown is populated based on values from in the database.

Problem:

On Edit in grid, the dropdown is not preserving previous saved value. 

Please can you help me in finding  the solution for the problem.

VIEW Code:

 @(Html.Kendo().Grid<ViaPath.LookUpDataManagement.MvcApp.Models.MasterDataMappingModel>(Model)
    .Name("gridTable")    
    .HtmlAttributes(new { style = "font-family: verdana,arial,sans-serif; font-size: 11px;color: #333333;border-color: #999999;" })
    .Columns(columns =>
    {
        columns.Bound(p => p.ClientAppName).ClientTemplate("# try {# #=ClientAppName# #} catch (e) {}#").EditorTemplateName("ClientComboBoxLookup").Width(120).Filterable(ft => ft.UI("ClientApplicationsFilter"));
      
        columns.Bound(p => p.SupplierAppName).ClientTemplate("# try {# #=SupplierAppName# #} catch (e) {}#").EditorTemplateName("SupplierComboBoxLookup").Width(120).Filterable(ft => ft.UI("SupplierApplicationsFilter"));
      
        columns.Bound(p => p.ListName).ClientTemplate("# try {# #=ListName# #} catch (e) {}#").EditorTemplateName("MasterDataListsComboBoxLookup").Width(150).Filterable(ft => ft.UI("ListsFilter"));
        columns.Bound(p => p.ClientValueName).Width(120).Title("Client Value");
        columns.Bound(p => p.ClientValueDescription).Width(200);
        columns.Bound(p => p.ClientCodingSystem).Width(150);
        columns.Bound(p => p.SupplierValueName).Width(120).Title("Supplier Value"); ;
        columns.Bound(p => p.SupplierValueDescription).Width(200);
        columns.Bound(p => p.SupplierCodingSystem).Width(150);
        columns.Bound(p => p.Direction).Width(90).ClientTemplate("# try {# #=Direction# #} catch (e) {}#").EditorTemplateName("DirectionComboBoxLookup").Filterable(ft => ft.UI("DirectionsFilter"));
        columns.Command(command =>  {
                command.Edit();
                command.Destroy();
            }).Width(200);
       
    })
            .ToolBar(t => t.Create())
            .Editable(editable => editable.Mode(GridEditMode.InLine))
            .Filterable(e => e.Extra(false))
            .Pageable(page => page.PageSizes(new int[] { 10, 25, 50, 100 }).Enabled(true))
            .Sortable()
            .Scrollable(src => src.Height("auto"))
            .Resizable(resize => resize.Columns(true))
            .DataSource(
                source => source
                    .Ajax() 
                    .Events(events => events.Error("error_handler"))                    
                    .ServerOperation(true)                  
                    .Model(model =>
                {
                    model.Id(e => e.MasterDataMappingId);
                    model.Field(e => e.MasterDataMappingId).Editable(false);
                    //model.Field(p => p.ClientAppName).Editable(true).DefaultValue(ViewData["defaultApplications"] as ViaPath.LookUpDataManagement.MvcApp.Models.MasterDataMappingModel);
                    //model.Field(p => p.SupplierAppName).Editable(true).DefaultValue(ViewData["defaultApplications"] as ViaPath.LookUpDataManagement.MvcApp.Models.MasterDataMappingModel);
                    //model.Field(p => p.ListName).Editable(true).DefaultValue(ViewData["defaultMasterDataList"] as ViaPath.LookUpDataManagement.MvcApp.Models.MasterDataMappingModel);
                    
                })                
                .Create(create => create.Action("Create_MasterDataMapping", "Home"))
                .Read(read => read.Action("Read_MasterDataMapping", "Home"))
                 .Update(update => update.Action("Update_MasterDataMapping", "Home"))
                 .Destroy(destroy => destroy.Action("Destroy_MasterDataMapping", "Home")))
                 //.Events(e => e.Edit("onEdit"))
            )

 Editor Template:

@(Html.Kendo().DropDownListFor(m => m)
        .Name("ClientAppName")
        .DataValueField("AppId")
        .DataTextField("ApplicationName")
        .BindTo((System.Collections.IEnumerable)ViewData["Applications"])
        .AutoBind(false)        
        .Events(e =>
        {
            e.Select("onSelect");
        })
)

Daniel
Telerik team
 answered on 16 Jun 2015
6 answers
259 views

Hi

 version 2015.1.515

 I try use dropdownlist with virtual in kendo grid, edit mode - InCellEdit. Works fine for select new value, but if i open cell for edit, dropdown show default value (option label). Autobind is set to false.

 

With version 2015.1.515 and Autobind = false, works with litle hack. (on grid Edit event after 500ms i call dropdown.datasource.read()).

function OnGridEdit()
 
{
 
  setTimeout(function() {
                var artDrop = $("#ArticleId").data("kendoDropDownList");
                if(artDrop)
                {
                    artDrop.dataSource.read();
                }
            }, 300);
 
 }
 

 

But with version 2015.1.515 not work anymore, still reset value to default. I found another hack how this work, but i'm not happy with it. On edit event after some ms set value to dropdown from grid model.

 Is another way to use dropdownlist with virtual in grid with incell edit? Thanks

01.function OnGridEdit(e)
02.{
03.  
04.  setTimeout(function() {
05.                var artDrop = $("#ArticleId").data("kendoDropDownList");
06.                if(artDrop)
07.                {
08.                    artDrop.value(e.model.ArticleId);
09.                }
10.            }, 300);
11.  
12. }
13.  
14.
 

 Editor template for grid

01.<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<int?>"  %>
02.     
03.<script type="text/javascript">
04.    function ArticlesReadPostData() {
05.        return {
06.            __RequestVerificationToken: $('[name=__RequestVerificationToken]').val(),
07.            onlyNotStorable: false,
08.            excludeRound: true
09.        }
10.    }
11.</script>
12. 
13.   <%=
14.    Html.Kendo().DropDownList()
15.        .HtmlAttributes(new { style="width:100%;" })
16.        .ValuePrimitive(true)
17.        .MinLength(1)
18.        .Name("ArticleId")         // Name of the widget
19.        .DataTextField("ArticleCode")
20.        .DataValueField("ArticleId")
21.        .OptionLabel(new { ArticleId = "", ArticleCode = LanguageResources.Resource.L_ChooseFromOptions })
22.        .Filter(FilterType.StartsWith)
23.        .AutoBind(false)
24.         .DataSource(source =>
25.        {
26.            source.Custom()
27.                .ServerFiltering(true)
28.                .ServerSorting(true)
29.                .Sort(srt => srt.Add("ArticleCode"))
30.                .ServerPaging(true)
31.                .PageSize(31)
32.                    .Type("aspnetmvc-ajax") //Set this type if you want to use DataSourceRequest and ToDataSourceResult instances
33.                    .Transport(transport =>
34.                    {
35.                         
36.                        transport.Read(rd =>
37.                        {
38.                            rd.Data("ArticlesReadPostData");
39.                            rd.Type(HttpVerbs.Post);
40.                            rd.Action("ReadArticlesFilteredCombobox", "Article");
41.                        });
42.                    })
43.                    .Schema(schema =>
44.                    {
45.                        schema.Data("Data") //define the [data](http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-schema.data) option
46.                            .Total("Total"); //define the [total](http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-schema.total) option
47. 
48.                    });
49.        })
50.        .Virtual(v => v.ValueMapper("function(e) { return ArticleValueMapper.call(this, e, ArticlesReadPostData()) }"))
51. 
52.     
53. %>

Georgi Krustev
Telerik team
 answered on 16 Jun 2015
3 answers
154 views

Hello,

 I have a context menu on a appointment with a right click, together with a changed event on a selectable scheduler to track the selected item, which I need in the contextmenu. The problem is when I have a context menu open and I do a right-click on another appointment the change event for the scheduler doesn't fire. This leads to actions on the wrong event because the selected item is not updated.

How can I solve this?

events.Change("onSelectionChanged");

 function onSelectionChanged(e) {
   currentEvent = e.events[0];

..

 

JKattestaart
Top achievements
Rank 1
 answered on 16 Jun 2015
1 answer
1.0K+ views
Hi, is it possible to name the worksheet when exporting a grid to Excel?  Please provided details if so (preferably with server widget syntax).
Plamen Lazarov
Telerik team
 answered on 16 Jun 2015
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
Rating
ScrollView
ButtonGroup
CheckBoxGroup
NavBar
ProgressBar
QRCode
RadioButton
Scroller
Timeline
TreeMap
TaskBoard
OrgChart
Captcha
ActionSheet
Signature
AppBar
BottomNavigation
Card
FloatingActionButton
Licensing
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
DateTimePicker
TimePicker
StockChart
RadialGauge
ContextMenu
ArcGauge
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
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?