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

Hello,

I am trying to list for asp.net core and I get the following null reference exception.

NullReferenceException: Object reference not set to an instance of an object. 

Please find the stack trace attached. I tried attaching sample project but it wouldn't allow me.

I have spent a lot of time trying to figure out but failed. I am not sure if I am missing anything.

Any ideas or suggestions on how I can resolve this issue is really appreciated.

 

Thanks,

 

Uday
Top achievements
Rank 1
 answered on 07 Nov 2016
1 answer
153 views

Hi,

I'm trying to update a label inside a grid toolbar  with the Count on selectedItem of the grid.

I'm able to retrieve the number of selected item with the "onChange" event ( in an JS alert in my test)

using:

<script type="text/javascript">
    function onChange(arg) {
        var selected = $.map(this.select(), function (item) {
            return $(item).text();
        });
        alert(selected.length);
         }
</script>

but i'm having trouble accessing the label inside the toolbar of the grid (to modify the text property).

I'm not quite sure of the syntax to retrieve the label..  

I tried several way to access it and I'm having not luck so far.

 

Is there a way to access a control inside the toolbar of a grid from JavaScript?

 

Note:  I'm using "Telerik.UI.for.AspNet.Core": "2016.3.914"

 

Konstantin Dikov
Telerik team
 answered on 04 Nov 2016
1 answer
100 views

Setting the Media in the player declaration for playing mp3 is quite easy :

@(Html.Kendo().MediaPlayer()
.Name("mediaPlayer")
.AutoPlay(true)
.Media(m => m
.Title("this is my song")
.Source("sounds/mysong.mp3")            )
.HtmlAttributes(new { style = "height:360px; width:640px" } )
)

But how to change the media source for example if I want to change "mysong.mp3" to "myothersong.mp3" in an event in javascript :

function onChange(arg)

{

$("#mediaPlayer").data("kendoMediaPlayer").media(?????);

}

Many thanks

Eyup
Telerik team
 answered on 01 Nov 2016
1 answer
150 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
603 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.1K+ 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
445 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
201 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
149 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
361 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
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?