Telerik Forums
UI for ASP.NET Core Forum
1 answer
155 views

hi guys,

 

this was first a checkbox but I had to change it to a Grid.

but the only problem is that the paging is not working... can you guys find the mistake?

(I am a beginner)

 

                          <telerik:RadGrid ID="ChangedList" runat="server" AutoGenerateColumns="false" OnPageIndexChanged="ChangedList_PageIndexChanged" OnNeedDataSource="ChangedList_NeedDataSource" GridLines="None" AllowPaging="true" RenderMode="Lightweight" PageSize="5" AllowSorting="True">
                <MasterTableView ClientDataKeyNames="Logging_ID" backcolor="PaleGreen"  ForeColor="black" BorderStyle="Solid" BorderColor="Green" AlternatingItemStyle-BackColor="MediumSeaGreen"   PagerStyle-BackColor ="LawnGreen"   HeaderStyle-ForeColor="green" HeaderStyle-BorderColor="Crimson">
                      
                    <Columns>

                        <telerik:GridCheckBoxColumn
                            HeaderText="Checkbox" >
                        </telerik:GridCheckBoxColumn>
                        <telerik:GridBoundColumn DataField="ModuleName" HeaderText="Naam"  UniqueName="ModuleName" ReadOnly="true">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="AssemblyVersion" HeaderText="Versie" UniqueName="AssemblyVersion" ReadOnly="true">
                        </telerik:GridBoundColumn>

                        
                     
                    </Columns>
                </MasterTableView>
               
            </telerik:RadGrid>

 

 

--------------------------------------------------------------------------------------------------------------

 

 

 protected void Page_Load(object sender, EventArgs e)
        {

  
          // CheckBoxList1.AutoPostBack = cbAutoRefresh.Checked;
            LogChanges();
            if (!IsPostBack)
            {
                ddWebserver.DataSource = controller.Server_List();
                ddWebserver.DataTextField = "Description";
                ddWebserver.DataValueField = "Server_ID";

                ddWebserver.DataBind();
                ddWebserver.SelectedIndex = 0;
                LoadListboxes();
            

            }

 

 

 

 

 protected void ChangedList_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
        {
           
        }

        
    

 

 

 



        protected void ChangedList_PageIndexChanged(object sender, GridPageChangedEventArgs e)
        {
            int index = e.NewPageIndex;
            int current = ChangedList.CurrentPageIndex;
        }
        private void LoadListboxes()
        {
            //CheckBoxList1.Items.Clear();
            CheckBoxList2.Items.Clear();



            var changes = controller.Logging_List().Where(x => x.Ignore == false).ToList().OrderBy(x => x.ModuleName);


            ChangedList.DataSource = changes;
                ChangedList.DataBind();


 

 

Misho
Telerik team
 answered on 01 Nov 2016
1 answer
630 views

Whenever I try and download from Nuget Package Explorer I got the following error:

Retrieving package 'Telerik.UI.for.AspNet.Core 2016.3.914' from 'telerik.com'.
  GET https://nuget.telerik.com/nuget/Packages(Id='Telerik.UI.for.AspNet.Core',Version='2016.3.914')
  OK https://nuget.telerik.com/nuget/Packages(Id='Telerik.UI.for.AspNet.Core',Version='2016.3.914') 79ms
Install failed. Rolling back...
Uninstalling NuGet package Telerik.UI.for.AspNet.Core.2016.3.914.
Executing nuget actions took 132.55 ms
Package contains multiple nuspec files.
========== Finished ==========
Time Elapsed: 00:00:01.8826245

 

However, when I just edit the project.json manually to include the package and then rebuild to trigger a package restore, it works fine.

"Telerik.UI.for.AspNet.Core": "2016.3.914"

 

 

 

Ventsi
Telerik team
 answered on 21 Oct 2016
10 answers
1.2K+ views

I am using the save/load grid state feature in JS for my Kendo UI MVC Grid. It looks like this:
Saving state:

var grid = $("#Items").data("kendoGrid");
                sessionStorage.GridState = kendo.stringify(grid.getOptions());

Loading state:

$(document).ready(function () {
                var grid = $("#Items").data("kendoGrid");
                var originalOptions = grid.getOptions();
                var stringifiedOptions = sessionStorage.GridState;

                if (stringifiedOptions) {
                    console.log("Loaded Grid State.");

                    var loadedOptions = JSON.parse(stringifiedOptions);
                    loadedOptions.columns = originalOptions.columns;
                    grid.setOptions(loadedOptions);

                    sessionStorage.removeItem("GridState");

                    console.log("Clearing Grid State Storage.");
                }
            });

The first time the grid loads, grid state gets saved after clicking the edit button, which takes me to another page, but then if I click back from this edit page to go back to the grid page, it shows this error:

{"There is already an open DataReader associated with this Command which must be closed first."}
dataSourceResult.Total = source1.Count();

And I can see the load grid ajax action is being called twice, and it errors out on the second time. The error occurs when I call MyBaseEntitiesQueryable.ToDataSourceResult(request). I can't debug the Kendo UI code, but when I was able to copy the classes in the grid filtering to mimic it and it occurs on this line in ToDataSourceResult:

dataSourceResult.Total = source1.Count();

The full error and stack trace:
{"There is already an open DataReader associated with this Command which must be closed first."}
   at System.Data.SqlClient.SqlInternalConnectionTds.ValidateConnectionForExecute(SqlCommand command)
   at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
{"An error occurred while executing the command definition. See the inner exception for details."}
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5()
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()
   at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   at Kendo.Mvc.Extensions.QueryableExtensions.Count(IQueryable source)
   at Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult[TModel,TResult](IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState, Func`2 selector)
   at Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState)
   at Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable enumerable, DataSourceRequest request)
   at Sandbox.Controllers.EntityController`5.LoadGrid(DataSourceRequest request) in C:\Users\shol726\Documents\Visual Studio 2015\Projects\Drs\samples\Sandbox\Controllers\EntityController.cs:line 75
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.AspNetCore.Mvc.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeActionFilterAsync>d__28.MoveNext()

To make matters worse, this error happens only about 75% of the time, not all the time. Sometimes I get "The underlying provider failed to Open." as well. But that is much rarer.

How can I fix this?

Vasil
Telerik team
 answered on 21 Oct 2016
4 answers
471 views

Standard grid filtering options done as shown in this demo page: http://demos.telerik.com/aspnet-mvc/grid/filter-menu-customization

But it doesn't work. Here is my grid:

@(Html.Kendo().Grid<UserModel>()
    .Name("Items")
    .DataSource(dataSource => dataSource
        .Ajax()
        .Destroy(delete => delete.Action("DeleteGridItem", @ViewContext.RouteData.Values["controller"].ToString()))
        .PageSize(25)
        .Update(update => update.Action("Save", @ViewContext.RouteData.Values["controller"].ToString()))
        //.ServerOperation(true)
        .Sort(sort => sort.Add("Name"))
        .Read(read => read.Action("LoadGrid", @ViewContext.RouteData.Values["controller"].ToString())))
    .ToolBar(tools =>
    {
        tools.Custom().Text("Clear Filter").HtmlAttributes(new { id = "gridAllFilterReset" });
        tools.Excel().Text("Excel");
    })
    .Excel(excel => excel
        .AllPages(true).FileName($"{ViewContext.RouteData.Values["controller"].ToString()}.xlsx").Filterable(true)
    )
    //.EnableCustomBinding(true)
    .Columns(columns =>
    {
        columns.Bound(x => x.Name);
        columns.Bound(x => x.Email);
        columns.Bound(x => x.Departments);
        columns.Bound(x => x.Titles);
        columns.Command(command =>
        {
            command.Custom("Edit").Text("<span class='k-icon k-edit'></span>").Click("editRecord");
            command.Destroy().Text(" ");
        }).Width(250);
    })
    .Filterable(f => f.Operators(o => o.ForString(x => x
                .Clear()
                .Contains("Contains")
                .IsEqualTo("Is Equal To")
                .StartsWith("Starts With")
                .EndsWith("Ends With")
                .DoesNotContain("Does Not Contain")
                .IsNotEqualTo("Is Not Equal To")
                .IsEmpty("Is Empty")
                .IsNotEmpty("Is Not Empty"))))
    .Sortable(x => x.AllowUnsort(false))
    .Pageable()
    .Deferred()
 
)

 

 

But when I load the grid, the default filter options for string still apply

Danail Vasilev
Telerik team
 answered on 20 Oct 2016
1 answer
209 views
Model binding is not working with post values from Kendo UI MCV Grid, I follow the MVC5 example about this topic, the grid shows the editable collection but when I post the values the view model collection is always null.

 

  @(Html.Kendo().Grid(Model.Profile.CollectionOption)
                                      .Name("colOptions")
                                      .Columns(columns =>
                                      {
                                          columns.Bound(p => p.Id).Hidden();
                                          columns.Bound(p => p.ModuleId).Hidden();
                                          columns.Bound(p => p.Module.Name).Title("Modulo");
                                          columns.Bound(p => p.Name).Title("Opcion");
                                          columns.Bound(p => p.Selected).Title("Seleccionar").ClientTemplate("<input type='checkbox' #= Selected ? checked='checked' :'' # />"); ;
                                      }
                                      )
                                      .Editable(editable => editable.Mode(GridEditMode.InCell))
                                      .DataSource(dataSource => dataSource
                                              .Ajax()
                                              .Model( m =>
                                              {
                                                  m.Field(p => p.Id).Editable(false);
                                                  m.Field(p => p.ModuleId).Editable(false);
                                                  m.Field(p => p.Module.Name).Editable(false);
                                                  m.Field(p => p.Name).Editable(false);
                                                  m.Field(p => p.Selected);
                                              }
                                              )
                                              .ServerOperation(false)
                                       )
                                )

Eyup
Telerik team
 answered on 20 Oct 2016
1 answer
162 views
Here is the markup:
<div kendo-chart='chart1' k-data-source="WidgetDatasource3" k-title="{ text: 'Comments per day', visible: true, align:'left' }" k-legend="{visible:true}" k-series-defaults="{type: 'bar', labels: {visible: true, background: 'transparent'}}" k-category-axis="{ field: 'sales', name: 'Sales', type: 'number'}"  k-series="[{field: 'sales', name: 'Sales', dataType:'number'}]" ></div>

Here is the datasource:

widget3.WidgetData.Resultset = "[{ sales: 200},{ sales:450}]";

The output is attached.  Any number over 9 is being broken up.  i.e. 19 ==> 1   9


Please advise.
Stanimir
Telerik team
 answered on 18 Oct 2016
4 answers
372 views
I try to set fix categories in my kendo chart for all day of week, also when didn't have value and I just want the 5 days of european weeks like monday to friday. Second problem, I can't set culture to have the name of day in french.

        @(Html.Kendo().Calendar()
            .Name("calendar")
            .Value(DateTime.Now)
            .Format("dd/MM/yyyy")
            .Events(e => e.Change("refreshGrid"))
        )
    </div>
    @(Html.Kendo().Chart<RapportTache>()
            .Name("chart")
            .Title("Rapport de la semaine")
            .Legend(legend => legend
                .Position(ChartLegendPosition.Top)
            )
            .DataSource(ds => ds
                        .Read(read => read.Action("Chart_Read", "Saisie").Data("getDateTime"))
                        .Group(group => group.Add(model => model.TacheLibelle))
                        .Sort(sort => sort.Add(model => model.RapportTacheJourDate).Ascending())
                        )
            .Series(series =>
            {
                series.Column(model => model.RapportTacheJourDuree, categoryExpression: model => model.RapportTacheJourDate).Stack(true);
            })
            .CategoryAxis(axis => axis
                .Labels(labels => labels
                    .Culture("fr-FR")
                    .DateFormats(formats => formats
                        .Days("dddd dd")
                    )
            )
            .MajorGridLines(lines => lines.Visible(false))
        )
        .SeriesColors(
            "#cd1533", "#d43851", "#dc5c71", "#e47f8f", "#eba1ad",
            "#009bd7", "#26aadd", "#4db9e3", "#73c8e9", "#99d7ef"
        )
        .ChartArea(h => h.Height(300))
        .ValueAxis(axis => axis.Numeric()
            .Labels(labels => labels.Format("{0:N0}"))
            .MajorUnit(10)
            .Line(line => line.Visible(false))
        )
        .Tooltip(tooltip => tooltip
            .Visible(true)
            .Template("#= dataItem.RapportTacheJourDuree # (heures) : #= dataItem.TacheLibelle #")
        )
    )

And this is the actual result : 

[![enter image description here][1]][1]


  [1]: http://i.stack.imgur.com/xa3pP.png



In the actual situtation, I just have the monday on null value. If anyone have an idea, thank's for help ! :)
Philippe
Top achievements
Rank 1
 answered on 10 Oct 2016
3 answers
201 views

I've just started an ASP.NET core project, and installed the UI for ASP.NET core library from the nugget package and added in the scripts and styles folder.

This seems all to be working (I can display a datepicker on the home view).

However, when clicking the add controller context menu, I now get the Telerik Add Scaffold dialog box, which does not have an option for a plain controller (screen shot attached).

When I choose the UI for MVC Grid option, I'm unable to choose a dataContext class, even though one exists (using EntityFramework Core).

 

Veselin Tsvetanov
Telerik team
 answered on 06 Oct 2016
1 answer
206 views

Is there a way to localize the apply button or to access to the text of the Apply button ? (and cancel of course)

I'm using Asp.net Core MVC application with Kendo.MVC 2016.2.617 version.

Best regards

 

Ianko
Telerik team
 answered on 04 Oct 2016
1 answer
316 views

Basically I need to set the width of the input role="listbox" class="k-textbox" to 100% because it is wider than the widget.

Any help?

Veselin Tsvetanov
Telerik team
 answered on 03 Oct 2016
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?