Telerik Forums
UI for Blazor Forum
1 answer
195 views

We are looking at swapping out the SyncFusion Sidebar for the Telerik Drawer. Currently, we use the Sidebar to hold a Telerik Treeview. This has become unwieldy as more nodes have been added and managing the Responsive needs. We just can't seem to get the right balance between the Treeview on the desktop browser and the mobile browser.

So a few quick questions:

  1. It would appear that the Drawer would accomplish both of these tasks. Correct? 
  2. If the above is correct, can we have more than one node expanded or does it always close the last selected node like in the demo?
  3. Can we apply code to show/hide the node based on Security (Identity) Roles?
  4. Lastly, can we search the drawer for a node? For example, right now we have a Search box allowing the user to quickly type for a menu item.

Thank you!

Yanislav
Telerik team
 answered on 07 Feb 2023
0 answers
417 views

We are using this example (https://docs.telerik.com/blazor-ui/knowledge-base/menu-megamenu) to make a mega menu in our page header, but we would like to make the popup animation the full-width of the screen.

We used this CSS to override the class of the popup, but this also overrides all the other animation popups. We only want to have this full-width for the mega menu animations and not any of the other popups like the dropdownlist or the context menu, etc.

.k-animation-container {
    left: 0 !important;
    width: 100% !important;
}

We found a similar issue reported in the Kendo UI forums, but suggestion was to use jQuery to detect clicks:

https://www.telerik.com/forums/k-animation-container-1384e3db9853

Is this there no way to do this with CSS? Seems like it would be beneficial to have some type of unique identifier for the different popups to be able to style them individually. 

 

Michael
Top achievements
Rank 1
 asked on 07 Feb 2023
1 answer
151 views

A user selects a file and then wishes to remove it.

How do I programmatically remove the content of the fileselect? I have tried binding without success.

Many thanks,

Rob

Svetoslav Dimitrov
Telerik team
 answered on 07 Feb 2023
0 answers
377 views

I'm using a textbox in a grid and have a real estate issue where text is cut off because I'm limited on the width of the textbox.  The end users will typically save special characters (e.g. '@, ( ), etc...').  These cause the tooltip to blow up as it appears to use a Jquery selector which doesn't like special characters.

Is there a workaround for this?  I don't want to tell the end-users that they can't use characters they're used to using.

Larry
Top achievements
Rank 2
Iron
Veteran
Iron
 asked on 06 Feb 2023
1 answer
452 views

Hi,

I have some concerns with default font changing in the ThemeBuilder. 

Problem 1 : when i select Avenir-next, he display a yellow question mark ( missing?) and renders in Times New Roman

Problem 2 : i upload the Gilroy-Medium font and i have the same result (renders in Times New Roman) . Both with Woff2 and Tiff.

Can you give me some advices to overcom these problems or :

as Workaround, instruct me how i ca change te default font in my Blazor Serv App

 

Thanks

 

 

Yanislav
Telerik team
 answered on 06 Feb 2023
1 answer
172 views

I would like to know if it's possible to read the "Title" from code, a database table versus it being in the razor text. If it is possible, any example would be great to share. I'd like this title to be more flexible and user-defined.


<TabStripTab Title="PowerBI Dashboard #1">
        <div class="h_iframe">
            <iframe src=@TargetUrl frameborder="0" allowfullscreen />
        </div>
    </TabStripTab>
    <TabStripTab Title="PowerBI Dashboard #2">
        <div class="h_iframe">
            <iframe src=@TargetUrl2 frameborder="0" allowfullscreen />
        </div>
    </TabStripTab>

Thanks!

Yanislav
Telerik team
 answered on 03 Feb 2023
1 answer
170 views

Ok I use a gridlayout for the page.

I would like to put a border around some of the rows, for different logical sections.

See the blue areas, thats where I would like to setup a border for each section. Not seeing a way to do that.

Any ideas?

Thanks

See image:

Dimo
Telerik team
 answered on 02 Feb 2023
1 answer
334 views

After I select a product I tab to get to the Trade date field. The cursor get's there, but then move back to the product field, why?


@page "/ManualCertificateTrade"
@attribute [Authorize]
@using Ibex.Shared.Domain
<h3>Manual Certificate Trade</h3>

<TelerikForm Model="@TradeModel" OnValidSubmit="TradeModelValidSubmit" Columns="1" ColumnSpacing="15px" Width="800px">
    <FormValidation>
        <FluentValidationValidator/>
    </FormValidation>
    <FormItems>
        <FormGroup LabelText="Product" Columns="2" ColumnSpacing="15px">
            <FormItem>
                <Template>
                    <label for="Products">Product</label>
                    <TelerikDropDownList
                        TValue="int"
                        TItem="Product"
                        Id="Products"
                        Data="@Products"
                        TextField="Name"
                        ValueField="Id"
                        OnChange="@ProductChangedEvent"
                        Value="@SelectedProductId"
                        ValueExpression="@(() => SelectedProductId)"
                        Filterable="true"
                        DefaultText="Select a product"
                        FilterOperator="StringFilterOperator.Contains"/>
                    @* <TelerikValidationMessage For="@(() => TradeModel.ProductId)"/> *@
                </Template>
            </FormItem>
            <FormItem LabelText="Nav" Field="@nameof(TradeModel.NavSellPrice)" Enabled="false"/>
            <FormItem LabelText="Issue price" Field="@nameof(TradeModel.StandardBuyPrice)" Enabled="false"/>
            <FormItem LabelText="Redemption price" Field="@nameof(TradeModel.StandardSellPrice)" Enabled="false"/>
            <FormItem LabelText="Other Issue price" Field="@nameof(TradeModel.OtherBuyPrice)" Enabled="false"/>
            <FormItem LabelText="Other Redemption price" Field="@nameof(TradeModel.OtherSellPrice)" Enabled="false"/>
        </FormGroup>
        <FormGroup LabelText="Dates" Columns="2" ColumnSpacing="15px">
            <FormItem>
                <Template>
                    <label for="TradeDate">Trade date</label>
                    <TelerikDatePicker Id="TradeDate" @bind-Value="TradeModel.TradeDate" Format="dd-MM-yyyy"/>
                    <TelerikValidationMessage For="@(() => TradeModel.TradeDate)"/>
                </Template>
            </FormItem>
            <FormItem>
                <Template>
                    <label for="SettlementDate">Settle date</label>
                    <TelerikDatePicker Id="SettlementDate" @bind-Value="TradeModel.SettlementDate" Format="dd-MM-yyyy"/>
                    <TelerikValidationMessage For="@(() => TradeModel.SettlementDate)"/>
                </Template>
            </FormItem>
        </FormGroup>
        <FormGroup LabelText="Price" Columns="2" ColumnSpacing="15px">
            <FormItem Hint="Negative quantity is client sell (redemption)">
                <Template>
                    <label for="Quantity">Quantity</label>
                    <TelerikNumericTextBox Id="Quantity" @bind-Value="TradeModel.Quantity"/>
                    <div class="k-form-hint">Negative quantity is client sell (redemption)</div>
                    <TelerikValidationMessage For="@(() => TradeModel.Quantity)"/>
                </Template>
            </FormItem>
            @* <FormItem LabelText="Quantity" Field="@nameof(ManualTrade.Quantity)" Hint="Negative quantity is client sell (redemption)"/> *@
            <FormItem LabelText="Nav override (Invision)" Field="@nameof(TradeModel.NavOverride)"/>
            <FormItem LabelText="Buy price" Field="@nameof(TradeModel.ManualBuyPrice)" Enabled="@(TradeModel.Quantity > 0)"/>
            <FormItem LabelText="Other Buy Cost %" Field="@nameof(TradeModel.OtherBuyCost)" Enabled="@(TradeModel.Quantity > 0)"/>
            <FormItem LabelText="Sell price" Field="@nameof(TradeModel.ManualSellPrice)" Enabled="@(TradeModel.Quantity < 0)"/>
            <FormItem LabelText="Other Sell Cost %" Field="@nameof(TradeModel.OtherSellCost)" Enabled="@(TradeModel.Quantity < 0)"/>
        </FormGroup>
        <FormGroup LabelText="Customer information for account-holding fund" Columns="2" ColumnSpacing="15px">
            <FormItem LabelText="Customer" Field="@nameof(TradeModel.Customer)" Hint="Ask FundAccounting"/>
            <FormItem LabelText="Customer account" Field="@nameof(TradeModel.CustomerAccount)" Hint="Ask FundAccounting"/>
        </FormGroup>
    </FormItems>
</TelerikForm>

using Blazored.LocalStorage;
using Ibex.Client.Services;
using Ibex.Shared.Domain;
using Ibex.Shared.DTO;
using Microsoft.AspNetCore.Components;

namespace Ibex.Client.Pages;

public partial class ManualCertificateTrade
{
    [Inject] public IManualCertificateTradeService TradeService { get; set; }
    [Inject] public ILocalStorageService LocalStorageService { get; set; }

    private ManualTradeModel TradeModel { get; set; } = new();
    private List<Product> Products { get; set; } = new();
    private int SelectedProductId { get; set; }
    private string SelectedProductName { get; set; }
    private bool IsModalVisible { get; set; }
    private decimal OtherBuyCost { get; set; }
    private decimal OtherSellCost { get; set; }

    protected override async Task OnInitializedAsync()
    {
        Products = await TradeService.GetProducts();
    }

    private async Task ProductChangedEvent(object id)
    {
        if (id is int productId)
        {
            SelectedProductId = productId;
            SelectedProductName = Products.FirstOrDefault(x => x.Id == productId)?.Name;
            TradeModel = await TradeService.GetNewManualTrade(productId);
            OtherBuyCost = TradeModel.OtherBuyCost;
            OtherSellCost = TradeModel.OtherSellCost;
        }
    }

    private void TradeModelValidSubmit()
    {
        IsModalVisible = true;
    }

    private async Task CreateTrade()
    {
        var success = await TradeService.CreateManualTrade(TradeModel);
        Console.WriteLine($"Trade Created {success}");
    }
    
}


Yanislav
Telerik team
 answered on 02 Feb 2023
1 answer
229 views

Hi,

I am using the Telerik FileManager with the built in Upload. I can't find the mutliple variable in the Upload settings so I guess it is not possible to drag&drop or select mulitple files with this component? 

It is a major setback for us using this because we need to be able to quicken the process of uploading a large number of files.

Did anyone manage to do that? 

Thank you !

Yanislav
Telerik team
 answered on 02 Feb 2023
0 answers
378 views

For over a year I've been saving GridState changes to local storage and then re-applying them when a user returns to that grid. Been working with no issues. I use FilterMode="GridFilterMode.FilterRow" in my grids.

Upon upgrading to 4.0 this no longer works, the grid thinks there are filters but they are not applied correctly. I'm thinking this is due to this breaking change. It would be good to get some more details of this change and why it was made? Cant find any details for it.

  • FilterRow uses CompositeFilterDescriptor instead of FilterDescriptor.

The odd thing now is FilterDescriptors always use a logical AND and seem to include an additional filter, ie: on a string contains filter, where the field needs to include a null. Below is an example of a contains filter on an example first and last name fields. The additional clauses expecting them to contain a null are not added by me but rather automatically by the grid.

[
  {
    "LogicalOperator": 0,
    "FilterDescriptors": [
      {
        "Member": "FirstName",
        "Operator": 8,
        "Value": "d"
      },
      {
        "Member": "FirstName",
        "Operator": 8,
        "Value": null
      }
    ]
  },
  {
    "LogicalOperator": 0,
    "FilterDescriptors": [
      {
        "Member": "LastName",
        "Operator": 8,
        "Value": "b"
      },
      {
        "Member": "LastName",
        "Operator": 8,
        "Value": null
      }
    ]
  }
]

 

This state is saved as is in local storage, when a user leaves this screen and returns and the state is re-applied (again this has been working for a year prior to 4.0) the state gets re-applied like the bottom json with 2 filters to blank member names. It seems like to me theres a bug in the re-apply of filters where the grid is not expecting composite filters now?? If I can provide any further details please let me know.

[
  {
    "Member": "",
    "Operator": 2,
    "Value": null
  },
  {
    "Member": "",
    "Operator": 2,
    "Value": null
  }
]
Greg
Top achievements
Rank 1
Iron
 asked on 01 Feb 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?