Telerik Forums
UI for ASP.NET Core Forum
0 answers
657 views

In our UI for ASP.NET Core R3 2020 (2020.3.915) release, the Column menu message of unsticking a column is "null".

This bug will be resolved in our next official release.

In the meantime, as a workaround, manually set the Unstick Column menu message:

.ColumnMenu(c => c.Messages(m => m.Unstick("Unstick Column")))
Kendo UI
Top achievements
Rank 1
 asked on 16 Sep 2020
1 answer
7 views

Using VS2026.

When I clone our project and then try to build it, I get this error:


Unable to load the service index for source https://nuget.telerik.com/v3/index.json. Response status code does not indicate success: 401 (Unauthorized).

 

In the "tools -> nuget package manager -> package manager settings -> nuget package manager -> configuration files", I see several nuget.config files.

The first nuget.config in the list is in located in the solution folder.

The second nuget.config in located in the "users\myname\AppData\roaming\nuget\" folder

The second nuget.config contains my nuget.telerik UID and PW. The first nuget.config does not have that info. Not sure if this matters or if I can switch the priority.

Also, I tried downloading my "telerik-license.txt" and placed it in my solution folder. Did not help.

Online it says to add source "https://nuget.telerik.com/v3/index.json" and use telerik UI and PW. Unsure where to do this.

I also removed then added the "Sources" through the VS2026 UI "nuget package manager -> sources", shown here. But I was never asked for a UID and PW as the articles online say would happen.

nuget.org	https://api.nuget.org/v3/index.json
TelerikOnlineFeed	https://nuget.telerik.com/v3/index.json

 

Also, when I open this solution in VS2026, a dialog appears asking to update "Telerik UI for ASP.NET Core version update".

"Version Update" -> "Please, log in to download the latest version of Telerik UI for ASP.Net Core"

When I click the button, a web page appears saying I was successfully logged into telerik. When I return to VS2026, there is an error:

"Authentication did not succeed. Please try again"

 

How can I resolve this?

 

Lance | Senior Manager Technical Support
Telerik team
 updated answer on 26 Mar 2026
1 answer
28 views

I am attempting to reference some CheckBoxes withing a RadGrid inside a PlaceHolder.

I have a field that I am retrieving called Block that contains a numerice value. Based on the value I am dynamically creating a number of CheckBoxes in a PlaceHolder equal to that value. I have a Button Click method that is trying to reference the CheckBoxes but it is not working correctly.

This line : Dim BlockCheckBox As CheckBox = DirectCast(phBlocksCheckBox.FindControl("BlockCheckBox_" & cbIndex), CheckBox) is not returning a value.

aspx
    <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True" GridLines="None" AllowMultiRowSelection="True" AllowFilteringByColumn="True" EnableLinqExpressions="False">
        <MasterTableView AutoGenerateColumns="False">
            <PagerStyle AlwaysVisible="True"></PagerStyle>
            <Columns>
                <telerik:GridClientSelectColumn UniqueName="checkboxColumn1" HeaderTooltip="SELECT All" ShowSortIcon="False" ShowFilterIcon="False" Reorderable="False">
                    <HeaderStyle Width="30px" />
                <telerik:GridBoundColumn DataField="NumberOfBlocks" HeaderText="Block Count" UniqueName="NumberOfBlocks" AllowFiltering="False" Display="False">
                    <HeaderStyle Width="20px" />
                </telerik:GridBoundColumn>
                <telerik:GridTemplateColumn DataField="Block" HeaderText="Blocks" UniqueName="BlocksColumn" AllowFiltering="False">
                    <ItemTemplate>
                        <asp:PlaceHolder ID="phBlocksCheckBox" runat="server" />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
            </Columns>
        </MasterTableView>
        <ClientSettings AllowColumnsReorder="True" AllowDragToGroup="True" ReorderColumnsOnClient="True">
            <Scrolling UseStaticHeaders="True" />
            <Selecting AllowRowSelect="True" />
            <ClientEvents OnRowSelected="RowSelected" OnRowDeselected="RowDeselected"></ClientEvents>
        </ClientSettings>
    </telerik:RadGrid>


vb
    Protected Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles GenerateCassetteLabelsButton.Click
        Dim NumberOfBlocks As Integer = 0

        For Each item As GridDataItem In RadGrid1.SelectedItems
            NumberOfBlocks = CInt(item("NumberOfBlocks").Text)

            Dim phBlocksCheckBox As PlaceHolder = DirectCast(item.FindControl("phBlocksCheckBox"), PlaceHolder)
            If phBlocksCheckBox IsNot Nothing Then
HttpContext.Current.Response.Write("phBlocksCheckBox IsNot Nothing<br><br>")
                For cbIndex As Integer = 1 To NumberOfBlocks
HttpContext.Current.Response.Write("-BlockCheckBoxID : " & "BlockCheckBox_" & cbIndex & "<br><br>")
                    Dim BlockCheckBox As CheckBox = DirectCast(phBlocksCheckBox.FindControl("BlockCheckBox_" & cbIndex), CheckBox)

                    If BlockCheckBox IsNot Nothing Then
HttpContext.Current.Response.Write("BlockCheckBox IsNot Nothing<br><br>")
                        'Do something with BlockCheckBox.Text
HttpContext.Current.Response.Write("-Block : " & BlockCheckBox.Text & "<br><br>")
                    End If
                Next
            End If
        Next

        RadGrid1.Rebind()
    End Sub

    Protected Sub RadGrid1_ItemDataBound(sender As Object, e As GridItemEventArgs) Handles RadGrid1.ItemDataBound
        'Ensure we are dealing with a data item (not header, footer, etc.)
        If TypeOf e.Item Is GridDataItem Then
            Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)

            'Find the placeholder control defined in the ItemTemplate
            Dim phBlocksCheckBox As PlaceHolder = CType(item.FindControl("phBlocksCheckBox"), PlaceHolder)

            If phBlocksCheckBox IsNot Nothing Then
                Dim NumberOfBlocks As Integer = DataBinder.Eval(item.DataItem, "NumberOfBlocks")

                'Dynamically create and add checkboxes
                If NumberOfBlocks > 0 Then
                    For BlockIndex As Integer = 0 To NumberOfBlocks - 1
                        Dim BlockCheckBox As New CheckBox()
                        BlockCheckBox.ID = "BlockCheckBox_" & (BlockIndex + 1).ToString()
                        BlockCheckBox.Text = (BlockIndex + 1).ToString()
                        BlockCheckBox.Checked = True
                        phBlocksCheckBox.Controls.Add(BlockCheckBox)
                        phBlocksCheckBox.Controls.Add(New LiteralControl("    "))
                    Next
                End If
            End If
        End If
    End Sub

 

Vasko
Telerik team
 answered on 02 Mar 2026
1 answer
30 views

Good afternoon,

Using the demo https://demos.telerik.com/aspnet-core/grid/custom-command edited in REPL I have added some extra columns and grouping, plus a custom command whose visibility is conditional.

When I make the grid scrollable and contained in a div whose class is "container" the custom command column is hidden at runtime.

Index.html:

<div class="container">
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.EmployeeViewModel>()
    .Name("Grid")
    .Columns(columns => {
        columns.Command(command => command.Custom("Close").Click("showDetails").Visible("colVisible"));
        columns.Bound(e => e.Title);
        columns.Group(group => group
            .Title("Name")
            .Columns(name => {
                name.Bound(e => e.FirstName).Width(80);
                name.Bound(e => e.LastName).Width(80);
            })
        );
        columns.Bound(e => e.FirstName).Width(80);
        columns.Bound(e => e.LastName).Width(80);
        columns.Bound(e => e.Title).Width(250);
        columns.Bound(e => e.FirstName).Width(80);
        columns.Bound(e => e.LastName).Width(80);
        columns.Bound(e => e.Title).Width(250);

    })
    .Size(ComponentSize.Small)
    .Scrollable()
    .Sortable()
    .Resizable(resize => resize.Columns(true))
    .DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("CustomCommand_Read", "Grid"))
     )
)
</div>
@(Html.Kendo().Window().Name("Details")
    .Title("Customer Details")
    .Visible(false)
    .Modal(true)
    .Draggable(true)
    .Width(300)
)

 <script type="text/x-kendo-template" id="template">
    <div id="details-container">
        <h2>#= FirstName # #= LastName #</h2>
        <em>#= Title #</em>
        <dl>
            <dt>City: #= City #</dt>
            <dt>Address: #= Address #</dt>
        </dl>
    </div>
</script>

Script.js:

   function showDetails(e) {
        e.preventDefault();

        var detailsTemplate = kendo.template($("#template").html());
        var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
        var wnd = $("#Details").data("kendoWindow");

        wnd.content(detailsTemplate(dataItem));
        wnd.center().open();
    }

    function colVisible(dataItem) {
        var visible = dataItem.LastName == "Fuller";
        return !visible;
    }

Is there a way to make the custom command appear?  I guess that the width of the grid is being set by "container", I've predefined column widths of some of the columns, and it works out which columns appear before the visibility of the custom command is decided, so that appears behind the first Title column?

Kind regards,

Richard

Anton Mironov
Telerik team
 answered on 29 Jan 2026
1 answer
32 views

I have a grid where I am using a custom grouping javascript event becuase one of the columns is using an editor template, when they group by that column, I want them to actually group by the hidden column containing the data for the column, not the ID.

When I drag the item to group it, the category name displays fine, having run through my javascript function.  

But when I click the three dots and use the column menu, and select Group, it uses the ID instead, and you can see that is what it is grouped by in the header. 

I suppose I could get around this by setting a custom group header for it?  I'm just not sure why it's by passing my javascript.

Eyup
Telerik team
 answered on 29 Jan 2026
1 answer
39 views

In this example

https://demos.telerik.com/aspnet-core/grid/ai-toolbar

It references

.Service("https://demos.telerik.com/service/v2/ai/grid/smart-state")

However no code example or details of how to implement this

 

Where do I find the code or documentation of how to implement

Lance | Senior Manager Technical Support
Telerik team
 answered on 29 Dec 2025
1 answer
54 views

I feel like this should be simple but I can't figure this out.  I use the  [Display(Name = "Code")] annotation in my view model. I have a simple custom editor popup on my grid.  I use taghelpers because I just do.  I am trying to get my labels to show the display name in my popup.  I have seen older posts where validation is also not working but I think this has been fixed.  Either way I feel like this should work.

Model

 public class ChargeViewModel

 {
     [ScaffoldColumn(false)]
     public int ChargesID { get; set; }

     [Required]
     [UIHint("EditChargePopup")]
     [Display(Name = "Code")]
     public string ChargesCodeID { get; set; }

Custom Editor

<div class="col-4">
    <label for="ChargesCodeID" />
    <kendo-textbox for="ChargesCodeID" />
</div>
<div class="col-4">
    <label for="Charges_Name" />
    <kendo-textbox for="Charges_Name" />
</div>
<div class="col-4">
    <label for="Charges_Fee" />
    <kendo-numerictextbox for="Charges_Fee" format="c2" decimals="2" />
</div>

Results

 

Nikolay
Telerik team
 answered on 25 Dec 2025
1 answer
140 views
We have configured the app with the possible combination published in ASP.NET MVC, Activating Your License, Setting Up Your License Key - Telerik UI for ASP.NET MVC, and FAQ | Your Account, and the other docs...
The problem started when we renewed our subscription. We didn't use the upgrade wizard, but manually copied the license.txt file to the required location. The build completes successfully. We've also included Telerik.License.cs; and telerik-license.js, but nothing seems to help - the grid shows up with a watermark.
What are we not doing right? I thought this stuff should be straightforward once you have a license, but it's proving to be quantum physics. Please help!
Eyup
Telerik team
 answered on 23 Dec 2025
1 answer
68 views

I have created a fresh project with the following variables:

  • Visual Studio 22 Community (Version 17.14.21 )
  • Progress Telerik UI for ASP.NET Core Extension 2025.4.1110.199
  • .NET 9.0
  • Kendo UI v2025.4.1111

I am trying to create a simple grid as following that has an editable `DateTime?` column:

https://netcorerepl.telerik.com/GpFmvpEr29UDYPJN54

It works in the REPL link above, but if I press "Edit" on my local project, the DateTime column defaults to a text input without the datetimepicker buttons (see Attachment-1.png), I'm not sure what I am missing.

 

I've checked that `/Views/Shared/Editor/Templates/DateTime.cshtml` exists and the content is as follows:

@model DateTime?

@(Html.Kendo().DateTimePickerFor(m => m).HtmlAttributes(new { title = Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName("")}))

I've placed either `[DataType("Date")]` or `[DataType("DateTime")]` annotation on the class property definition and neither worked.

I've used `.EditorTemplateName("DateTime")` and/or `[UIHint("DateTime")]` and it didn't work.

I've created a new Template type and it didn't work.

I'm not sure what else to try to make it work.

Viktor Tachev
Telerik team
 answered on 17 Dec 2025
2 answers
91 views

I am converting a MVC table grid to a Telerik Grid. While looking at it, there are conditional columns. For example: 

 


@if (Model?.GroupDetail?.IsMec == false)
                                    {
                                        <th class="text-secondary" style="width: 140px;">Group Info</th>
                                    }

<th class="text-secondary">
                                        @if (Model?.GroupDetail?.IsMec == false)
                                        {
                                            <text>Office</text>
                                        }
                                        else
                                        {
                                            <text>Role</text>
                                        }
                                    </th>
How would I go about recreating something like this for the grid 
Charlston
Top achievements
Rank 1
Iron
 answered on 24 Nov 2025
Narrow your results
Selected tags
Tags
+? more
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?