Telerik Forums
UI for Blazor Forum
1 answer
251 views

Hi,

 

I am trying to setup a unit test around a component that involves a <TelerikFileSelect>

<TelerikFileSelect
                   Id="fileSelect"
                   AllowedExtensions="@AllowedExtensions"
                   MaxFileSize="@MaxFileSize"
                   OnSelect="@ImportHandler"
                   Multiple="false"
                   DropZoneId="dz"
                   OnRemove="@ImportRemove"
                   @ref="FileSelectRef">
                   <SelectFilesButtonTemplate>
                        <i class="fas fa-upload"></i>
                        Upload Excel Spreadsheet
                   </SelectFilesButtonTemplate>
</TelerikFileSelect>



I am not sure how to setup the `FileSelectEventArgs` in order to test our response to the uploaded file

var fileSelect = myComponent.FindComponent<TelerikFileSelect>();

await myComponent.InvokeAsync(async () => await fileSelect.Instance.OnSelect.InvokeAsync(new FileSelectEventArgs { Files = new List<FileSelectFileInfo>(new []{new FileSelectFileInfo { Id = null, Name = null, Size = 0, Extension = null, InvalidExtension = false, InvalidMinFileSize = false, InvalidMaxFileSize = false, Stream = null } }), IsCancelled = false }));
It seems like 'Stream' is expecting a 'FileInfoStream' which in turn is expecting a 'FileSelectFileInfo', which is expecting a 'FileInfoStream' and so on


How do I properly setup the FileSelectEventArgs to provide my test file?

Not sure if it matters but I am using ClosedXML to generate a memory stream that contains the excel file, so just want to pass that to the TelerikFileSelect


    public MemoryStream MockImportExcelFile_HappyPath()
    {
        var workbook = new XLWorkbook();
        var ws = workbook.Worksheets.Add("Sheet 1");
        ws.Cell("A1").Value = "Header1";
        ws.Cell("A2").Value = "asdfasdf";

        var stream = new MemoryStream();
        workbook.SaveAs(stream);
        stream.Seek(0, SeekOrigin.Begin);
        return stream;
    }
Thanks!

Dimo
Telerik team
 answered on 04 Dec 2023
1 answer
261 views

In the Blazor Scheduler, the TimeLineView SchedulerSlotTemplateContext Start and End times are always 00:00:00.  All of the other views have the correct data.

I notice the docs mention being sure the SlotTemplate adds class !k-pos-absolute (which mine does) but that didn't seem to help.

Can someone please provide some guidance here?

Brook
Top achievements
Rank 1
Iron
 updated answer on 02 Dec 2023
0 answers
133 views

Hello Telerik Team,

When i tried to bound Grid to a ExpandoObject or DataTable  I can't use filter properties .It throws unhandling Exception error. How to sort out this issue.

0 answers
251 views

I am trying to perform the following in a Blazor app. Default value = DateTime.Now. When a user enters a MMddyy or  MMddyyyy I want to automatically format  the date to MM/dd/yyyy. But I'm having an issue where the control automatically formats back to the default date value. Below is my layout for the DatePicker. I've tried different variations based on the demos Telerik provides but no luck. Hope someone can help. Thanks!

 

<TelerikDatePicker Id="@CustomComponent.FieldLabel"
                  @bind-Value="theInputValue"
                  Enabled="CustomComponent.IsEnabled"
                  Format="MM/dd/yyyy"
                  OnChange="@OnValueChanged"
                  OnBlur="@OnControlBlur">
</TelerikDatePicker>
George
Top achievements
Rank 1
 asked on 29 Nov 2023
1 answer
306 views

I'm getting the following error:

Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: Object reference not set to an instance of an object.
      System.NullReferenceException: Object reference not set to an instance of an object.
         at Telerik.Blazor.Components.TelerikFileManager`1.ConvertToFileEntry(Object dataItem)

After I click the create folder button in the TelerikFileManager.  I've confirmed that it does reach the OnModelInit() method which does not return null, but never reaches the OnCreate() method.  Any ideas what might be causing this?

Christopher
Top achievements
Rank 1
Iron
 answered on 29 Nov 2023
0 answers
356 views

I have 2 questions on how to do something with the grid component.

Setup

Here are the options I have set for the grid component.

        <TelerikGrid @ref="Grid"
                        Data="Entries"
                        TItem="ProductEntryModel"
                        Class="font-size mb-1"
                        Sortable="true"
                        SortMode="@Telerik.Blazor.SortMode.Multiple"
                        FilterMode="@GridFilterMode.FilterMenu"
                        FilterMenuType="@FilterMenuType.CheckBoxList"
                        ScrollMode="@GridScrollMode.Virtual"
                        SelectionMode="@GridSelectionMode.Single"
                        Height="570px"
                        Width="100%"
                        RowHeight="40"
                        PageSize="@PageSize"
                        EditMode="@GridEditMode.Incell"
                        EnableLoaderContainer="@IsLoading"
                        @bind-SelectedItems="SelectedItems"                        
                        OnEdit="OnEditEventHandler"
                        OnUpdate="OnUpdateEventHandler"
                        Navigable="true"
                        Size="sm">

For Context the first cell is a TemplateColumn with a TelerikCombobox Component in it. 

On Load

It loads all the entries for the day selected. 

It adds a new line automatically at the bottom for adding more. But if the rows are longer than the height the new row will not fully show its whole height and I want it to start in edit of the first cell. The image shows that it is selected but not in edit.

This image is right after load. You can see the row is selected but not in edit and half off-screen. If the rows are further than the height it will not bring it into view either.

I would like it to start in view and the first cell in edit, how to accomplish that?

In Edit

This method below allows the user to keep adding rows to the grid after the PO NU... field loses focus. It works great as long as the grids next row is not out of view. Once it is out of view it will add the line, select it, and bring it to view, but the first cell is now out of edit and the user has to click in to the cell to start entry.  

Similar to above, how do I set the focus in the first cell?  Some of this code is different attempts to get it to work. 

    private async Task AddNewRecord(ProductEntryModel? entry = null)
    {
        if (Entries.Any(x => x.ProductId == 0)) return;
        var newLine = new ProductEntryModel
        {
            EntryDate = EntryDate,
            PoNumber = entry != null ? entry.PoNumber : "", // Carry down
            Sublet = entry != null && !string.IsNullOrWhiteSpace(entry.PoNumber) ? entry.Sublet : "", // Carry down            
        };
        Entries.Add(newLine); // Add A new line
        PageSize = Entries.Count > 15 ? Entries.Count : 15; // increase page size
        SelectedItems = new List<ProductEntryModel>() {newLine};  // Select new line
        await Task.Delay(100); // Wait for the grid to update - Doesn't help select the next entry
        await ProjectCombobox.FocusAsync();  // New Attempt and doesn't work
        //Grid.Rebind();

    }


Tony
Top achievements
Rank 2
Iron
 asked on 29 Nov 2023
1 answer
296 views

Is there a way to open a dialog/window next to the button that opened it?

 

Dimo
Telerik team
 updated answer on 29 Nov 2023
1 answer
856 views

<GridColumns>
@foreach (DataRow column in gridColumnData.Rows )
{
<GridColumn Field="@nameof(Person.Age)" Title="@column["columnname"].ToString()" />
}
</GridColumns>

how can i make Field properties also dynamic without creating object model
when i display values without creating model i cant use filter mode it throws unhandled exception?

Dimo
Telerik team
 answered on 29 Nov 2023
2 answers
344 views
Can you point me at example code on how to set the busy indicator in the TelerikGrid to my GIF?
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
 answered on 28 Nov 2023
1 answer
327 views

I'm in need for an OnRendered event (or similar) for a TelerikWindow component. Actually, it would be nice to have for all Telerik blazor components. I this particular case I need to know when a specific <div> is avaible to the browser DOM so that I can call some javascript interop on it. In this case I need to show I leaflet map in the modal window.

I solved it for now, using a javascript timeout of 0.1 second, but that is bad coding.

Dimo
Telerik team
 answered on 28 Nov 2023
Narrow your results
Selected tags
Tags
+? more
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?