Skip to content

Following instructions at https://blazorui.bitplatform.dev to create *bit-empty* project with example grid at https://blazorui.bitplatform.dev/components/datagrid#example1 fails completely #12595

Description

@asimplebehr

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

The sample code found for BitDataGrid found at https://blazorui.bitplatform.dev/components/datagrid#example1 does not match what is in
<PackageReference Include="Bit.BlazorUI.Extras" Version="10.4.5" />

Expected Behavior

To build and run sample grid, similar to https://blazorui.bitplatform.dev/components/datagrid#example1

Steps To Reproduce

Based on setup instructions found at https://blazorui.bitplatform.dev

dotnet new bit-empty -n BitBlazorEmptyApp
dotnet add package Bit.BlazorUI.Extras
dotnet add package Bit.BlazorUI.Assets
dotnet add package Bit.BlazorUI.Icons

csproj:

<!-- Generated by bit-empty template v-10.4.5 -->

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>


  <ItemGroup>
    <PackageReference Include="Bit.BlazorUI" Version="10.4.5" />
    <PackageReference Include="Bit.BlazorUI.Assets" Version="10.4.5" />
    <PackageReference Include="Bit.BlazorUI.Extras" Version="10.4.5" />
    <PackageReference Include="Bit.BlazorUI.Icons" Version="10.4.5" />

    <PackageReference Include="Bit.CodeAnalyzers" Version="10.4.5">
        <PrivateAssets>all</PrivateAssets>
        <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>

    <PackageReference Include="Bit.SourceGenerators" Version="10.4.5">
        <PrivateAssets>all</PrivateAssets>
        <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>

    <Using Include="Bit.BlazorUI" />
  </ItemGroup>
</Project>

dotnet run is fine at this point

using https://blazorui.bitplatform.dev/components/datagrid#example1 to update Home page

<BitDataGrid TItem="Product" Items="@products" Height="430px" MultiSort="true">
    <BitDataGridColumn TItem="Product" Field="Id" Title="ID" Width="70px" Align="BitDataGridColumnAlign.Right" />
    <BitDataGridColumn TItem="Product" Field="Name" Width="220px" />
    <BitDataGridColumn TItem="Product" Field="Category" />
    <BitDataGridColumn TItem="Product" Field="Price" Format="C2" Align="BitDataGridColumnAlign.Right" />
    <BitDataGridColumn TItem="Product" Field="Stock" Align="BitDataGridColumnAlign.Right" />
    <BitDataGridColumn TItem="Product" Field="Rating" Format="N1" Align="BitDataGridColumnAlign.Right" />
</BitDataGrid>

// rest of code omitted

dotnet build

Restore complete (0.4s)
  BitBlazorEmptyApp net10.0 failed with 1 error(s) and 9 warning(s) (3.0s)
    BitBlazorEmptyApp\Components\Pages\Home.razor(7,9): warning RZ10012: Found markup element with unexpected name 'BitDataGridColumn'. If this is intended to be a component, add a @using directive for its namespace.
    BitBlazorEmptyApp\Components\Pages\Home.razor(8,9): warning RZ10012: Found markup element with unexpected name 'BitDataGridColumn'. If this is intended to be a component, add a @using directive for its namespace.
    BitBlazorEmptyApp\Components\Pages\Home.razor(9,9): warning RZ10012: Found markup element with unexpected name 'BitDataGridColumn'. If this is intended to be a component, add a @using directive for its namespace.
    BitBlazorEmptyApp\Components\Pages\Home.razor(10,9): warning RZ10012: Found markup element with unexpected name 'BitDataGridColumn'. If this is intended to be a component, add a @using directive for its namespace.
    BitBlazorEmptyApp\Components\Pages\Home.razor(11,9): warning RZ10012: Found markup element with unexpected name 'BitDataGridColumn'. If this is intended to be a component, add a @using directive for its namespace.
    BitBlazorEmptyApp\Components\Pages\Home.razor(12,9): warning RZ10012: Found markup element with unexpected name 'BitDataGridColumn'. If this is intended to be a component, add a @using directive for its namespace.
    BitBlazorEmptyApp\obj\Debug\net10.0\Microsoft.CodeAnalysis.Razor.Compiler\Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator\Components\Pages\Home_razor.g.cs(108,88): error CS0411: The type arguments for method 'TypeInference.CreateBitDataGrid_0_CaptureParameters<TGridItem>(object, out object, IQueryable<TGridItem>, out IQueryable<TGridItem>, object, out object, object, out object)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
    BitBlazorEmptyApp\Components\Pages\Home.razor(30,16): warning DateTimeOffsetInsteadOfDateTimeAnalyzer: Replace DateTime usage with DateTimeOffset
    BitBlazorEmptyApp\Components\Pages\Home.razor(49,13): warning DateTimeOffsetInsteadOfDateTimeAnalyzer: Replace DateTime usage with DateTimeOffset
    BitBlazorEmptyApp\Components\Pages\Home.razor(49,37): warning DateTimeOffsetInsteadOfDateTimeAnalyzer: Replace DateTime usage with DateTimeOffset

Finally got this to build, based on intellisense:

    <BitDataGrid TGridItem="Product" Items="@products.AsQueryable()" >
        <BitDataGridPropertyColumn Property="p => p.Id" Title="ID"    Align="BitDataGridAlign.Right"/>
        <BitDataGridPropertyColumn Property="p => p.Name"/>
        <BitDataGridPropertyColumn Property="p => p.Category"/>
        <BitDataGridPropertyColumn Property="p => p.Price" Format="C2" Align="BitDataGridAlign.Right"/>
        <BitDataGridPropertyColumn Property="p => p.Stock" Align="BitDataGridAlign.Right"/>
        <BitDataGridPropertyColumn Property="p => p.Rating" Format="N1" Align="BitDataGridAlign.Right"/>
    </BitDataGrid>

Exceptions (if any)

dotnet run

Using launch settings from \BitBlazorEmptyApp\Properties\launchSettings.json...
Building...
BitBlazorEmptyApp\Components\Pages\Home.razor(30,16): warning DateTimeOffsetInsteadOfDateTimeAnalyzer: Replace DateTime usage with DateTimeOffset
BitBlazorEmptyApp\Components\Pages\Home.razor(49,13): warning DateTimeOffsetInsteadOfDateTimeAnalyzer: Replace DateTime usage with DateTimeOffset
BitBlazorEmptyApp\Components\Pages\Home.razor(49,37): warning DateTimeOffsetInsteadOfDateTimeAnalyzer: Replace DateTime usage with DateTimeOffset
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5126
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: D:\research\bitplatform\sandbox\BitBlazorEmptyApp
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: Could not find 'BitBlazorUI.DataGrid.init' ('DataGrid' was undefined).
E@http://localhost:5126/_framework/blazor.web.js:1:6748
resolveInvocationHandler@http://localhost:5126/_framework/blazor.web.js:1:380
S@http://localhost:5126/_framework/blazor.web.js:1:6447
processJSCall@http://localhost:5126/_framework/blazor.web.js:1:4440
beginInvokeJSFromDotNet@http://localhost:5126/_framework/blazor.web.js:1:4125
_invokeClientMethod@http://localhost:5126/_framework/blazor.web.js:1:69241
_processIncomingData@http://localhost:5126/_framework/blazor.web.js:1:66606
kn/this.connection.onreceive@http://localhost:5126/_framework/blazor.web.js:1:60257
connect/</i.onmessage@http://localhost:5126/_framework/blazor.web.js:1:84315

      Microsoft.JSInterop.JSException: Could not find 'BitBlazorUI.DataGrid.init' ('DataGrid' was undefined).
E@http://localhost:5126/_framework/blazor.web.js:1:6748
resolveInvocationHandler@http://localhost:5126/_framework/blazor.web.js:1:380
S@http://localhost:5126/_framework/blazor.web.js:1:6447
processJSCall@http://localhost:5126/_framework/blazor.web.js:1:4440
beginInvokeJSFromDotNet@http://localhost:5126/_framework/blazor.web.js:1:4125
_invokeClientMethod@http://localhost:5126/_framework/blazor.web.js:1:69241
_processIncomingData@http://localhost:5126/_framework/blazor.web.js:1:66606
kn/this.connection.onreceive@http://localhost:5126/_framework/blazor.web.js:1:60257
connect/</i.onmessage@http://localhost:5126/_framework/blazor.web.js:1:84315

         at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, JSCallType callType, Object[] args)
         at Bit.BlazorUI.BitDataGridJsRuntimeExtensions.BitDataGridInit(IJSRuntime jsRuntime, ElementReference tableElement)
         at Bit.BlazorUI.BitDataGrid`1.OnAfterRenderAsync(Boolean firstRender)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit 'I-al74ZUuuQP9XkcvdfFgk8R8ceNcZXW4Q0-MJZ8BOo'.
      Microsoft.JSInterop.JSException: Could not find 'BitBlazorUI.DataGrid.init' ('DataGrid' was undefined).
E@http://localhost:5126/_framework/blazor.web.js:1:6748
resolveInvocationHandler@http://localhost:5126/_framework/blazor.web.js:1:380
S@http://localhost:5126/_framework/blazor.web.js:1:6447
processJSCall@http://localhost:5126/_framework/blazor.web.js:1:4440
beginInvokeJSFromDotNet@http://localhost:5126/_framework/blazor.web.js:1:4125
_invokeClientMethod@http://localhost:5126/_framework/blazor.web.js:1:69241
_processIncomingData@http://localhost:5126/_framework/blazor.web.js:1:66606
kn/this.connection.onreceive@http://localhost:5126/_framework/blazor.web.js:1:60257
connect/</i.onmessage@http://localhost:5126/_framework/blazor.web.js:1:84315

         at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, JSCallType callType, Object[] args)
         at Bit.BlazorUI.BitDataGridJsRuntimeExtensions.BitDataGridInit(IJSRuntime jsRuntime, ElementReference tableElement)
         at Bit.BlazorUI.BitDataGrid`1.OnAfterRenderAsync(Boolean firstRender)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: Could not find 'BitBlazorUI.DataGrid.init' ('DataGrid' was undefined).
E@http://localhost:5126/_framework/blazor.web.js:1:6748
resolveInvocationHandler@http://localhost:5126/_framework/blazor.web.js:1:380
S@http://localhost:5126/_framework/blazor.web.js:1:6447
processJSCall@http://localhost:5126/_framework/blazor.web.js:1:4440
beginInvokeJSFromDotNet@http://localhost:5126/_framework/blazor.web.js:1:4125
_invokeClientMethod@http://localhost:5126/_framework/blazor.web.js:1:69241
_processIncomingData@http://localhost:5126/_framework/blazor.web.js:1:66606
kn/this.connection.onreceive@http://localhost:5126/_framework/blazor.web.js:1:60257
connect/</i.onmessage@http://localhost:5126/_framework/blazor.web.js:1:84315

      Microsoft.JSInterop.JSException: Could not find 'BitBlazorUI.DataGrid.init' ('DataGrid' was undefined).
E@http://localhost:5126/_framework/blazor.web.js:1:6748
resolveInvocationHandler@http://localhost:5126/_framework/blazor.web.js:1:380
S@http://localhost:5126/_framework/blazor.web.js:1:6447
processJSCall@http://localhost:5126/_framework/blazor.web.js:1:4440
beginInvokeJSFromDotNet@http://localhost:5126/_framework/blazor.web.js:1:4125
_invokeClientMethod@http://localhost:5126/_framework/blazor.web.js:1:69241
_processIncomingData@http://localhost:5126/_framework/blazor.web.js:1:66606
kn/this.connection.onreceive@http://localhost:5126/_framework/blazor.web.js:1:60257
connect/</i.onmessage@http://localhost:5126/_framework/blazor.web.js:1:84315

Using Firefox for viewing.

Console

[2026-07-06T19:09:54.182Z] Information: Normalizing '_blazor' to 'http://localhost:5126/_blazor'. blazor.web.js:1:50588
[2026-07-06T19:09:54.214Z] Information: WebSocket connected to ws://localhost:5126/_blazor?id=5720EoqRpzIsM4BAzB-Hlg. blazor.web.js:1:50588
[2026-07-06T19:09:54.250Z] Error: Microsoft.JSInterop.JSException: Could not find 'BitBlazorUI.DataGrid.init' ('DataGrid' was undefined).
E@http://localhost:5126/_framework/blazor.web.js:1:6748
resolveInvocationHandler@http://localhost:5126/_framework/blazor.web.js:1:380
S@http://localhost:5126/_framework/blazor.web.js:1:6447
processJSCall@http://localhost:5126/_framework/blazor.web.js:1:4440
beginInvokeJSFromDotNet@http://localhost:5126/_framework/blazor.web.js:1:4125
_invokeClientMethod@http://localhost:5126/_framework/blazor.web.js:1:69241
_processIncomingData@http://localhost:5126/_framework/blazor.web.js:1:66606
kn/this.connection.onreceive@http://localhost:5126/_framework/blazor.web.js:1:60257
connect/</i.onmessage@http://localhost:5126/_framework/blazor.web.js:1:84315

   at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, JSCallType callType, Object[] args)
   at Bit.BlazorUI.BitDataGridJsRuntimeExtensions.BitDataGridInit(IJSRuntime jsRuntime, ElementReference tableElement)
   at Bit.BlazorUI.BitDataGrid`1.OnAfterRenderAsync(Boolean firstRender)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

.NET Version

10.0.301

Anything else?

Don't know if this is a bug or an issue, seems to be a bit of both.

windows 11 - latest

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions