{"id":16366,"date":"2024-09-09T12:52:02","date_gmt":"2024-09-09T12:52:02","guid":{"rendered":"https:\/\/stagingcopy.comitas.com\/dir\/?p=16366"},"modified":"2024-12-11T11:39:24","modified_gmt":"2024-12-11T11:39:24","slug":"microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql","status":"publish","type":"post","link":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/","title":{"rendered":"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"16366\" class=\"elementor elementor-16366\">\n\t\t\t\t<div class=\"elementor-element elementor-element-74fcb97 e-flex e-con-boxed e-con e-parent\" data-id=\"74fcb97\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1eacc50 elementor-widget elementor-widget-text-editor\" data-id=\"1eacc50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In unserem neuesten Blog-Beitrag werfen wir einen Blick darauf, wie Sie das Blazor QuickGrid mit Daten aus einer GraphQL-Abfrage bef\u00fcllen k\u00f6nnen. Basierend auf einem Artikel von Microsoft zeigen wir Ihnen, wie Sie die leistungsstarke Kombination aus Blazor und GraphQL nutzen k\u00f6nnen, um eine schnelle und reaktionsf\u00e4hige Datenanzeige zu erstellen. Besonders praktisch ist dabei die Virtualisierungsfunktion des QuickGrid, die die Performance bei grossen Datenmengen erheblich verbessert.<\/p>\n<h5><strong>Einrichten der GraphQL-Abfrage in Blazor<\/strong><\/h5>\n<p>Um eine GraphQL-Abfrage in Blazor zu integrieren, nutzen wir das Tool StrawberryShake, das uns einen Client basierend auf dem GraphQL-Schema generiert. F\u00fcgen Sie das Paket StrawberryShake.Blazor zu Ihrem Projekt hinzu und erstellen Sie eine dotnet-tools Manifest-Datei:<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p style=\"padding-left: 40px;\">dotnet new tool-manifest<\/p>\n<p style=\"padding-left: 40px;\">dotnet tool install StrawberryShake.Tools &#8211;local<\/p>\n<p style=\"padding-left: 40px;\">dotnet graphql init <a href=\"http:\/\/localhost:5000\/graphql\">http:\/\/localhost:5000\/graphql<\/a> -n StartrekClient<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p><\/p>\n<p>F\u00fcr dieses Beispiel werden wir eine Abfrage erstellen, die alle Schauspieler der StarTrek-Serie auflistet. Mit dem GraphQL-IDE-Tool k\u00f6nnen wir die folgende Abfrage erstellen:<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p style=\"padding-left: 40px;\">query GetActors() {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp; actors{<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; items {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; birthYear<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; }<\/p>\n<p style=\"padding-left: 40px;\">&nbsp; }<\/p>\n<p style=\"padding-left: 40px;\">}<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p>Speichern Sie diese Abfrage in einer Datei namens GetActors.graphql im Unterordner Queries. Nach dem Erstellen des Projekts wird der Client StartrekClient generiert, der die Abfrage GetActors enth\u00e4lt.<\/p>\n<h5><strong>Hinzuf\u00fcgen des QuickGrid-Komponenten<\/strong><\/h5>\n<p>QuickGrid ist eine Razor-Komponente, die eine einfache und effiziente Datenrasterdarstellung erm\u00f6glicht. F\u00fcgen Sie das Paket Microsoft.AspNetCore.Components.QuickGrid zu Ihrem Projekt hinzu. Die Verwendung der QuickGrid-Komponente ist unkompliziert. Angenommen, wir haben eine Liste im result, k\u00f6nnte die Implementierung folgendermassen aussehen:<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p style=\"padding-left: 40px;\">&lt;QuickGrid Items=&#8221;result.Actors!.Items.AsQueryable()&#8221;&gt;<\/p>\n<p style=\"padding-left: 40px;\">&lt;PropertyColumn Property=&#8221;@(a =&gt; a.Id)&#8221; Sortable=&#8221;true&#8221; \/&gt;<\/p>\n<p style=\"padding-left: 40px;\">&lt;PropertyColumn Property=&#8221;@(a =&gt; a.Name)&#8221; Sortable=&#8221;true&#8221; \/&gt;<\/p>\n<p style=\"padding-left: 40px;\">&lt;PropertyColumn Property=&#8221;@(a =&gt; a.BirthYear)&#8221; Sortable=&#8221;true&#8221; \/&gt;<\/p>\n<p style=\"padding-left: 40px;\">&lt;\/QuickGrid&gt;<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p>Die Items-Eigenschaft ist ein IQueryable, das eine effiziente Datenmanipulation erm\u00f6glicht, wie z.B. das Sortieren der Spalten.<\/p>\n<h5><strong>Einbinden der GraphQL-Daten in das QuickGrid<\/strong><\/h5>\n<p>Um die QuickGrid-Items mit den GraphQL-Daten zu verkn\u00fcpfen, verwenden wir die von StrawberryShake generierte Komponente &lt;UseGetActors&gt;. Diese Komponente verf\u00fcgt \u00fcber Unterkomponenten f\u00fcr verschiedene Zust\u00e4nde der Abfrage: &lt;ChildContent&gt;, &lt;ErrorContent&gt; und &lt;LoadingContent&gt;. Hier ein Beispiel f\u00fcr eine Seite, die diese Komponente verwendet:<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p style=\"padding-left: 40px;\">@page &#8220;\/graphql&#8221;<\/p>\n<p style=\"padding-left: 40px;\">@using Microsoft.AspNetCore.Components.QuickGrid<\/p>\n<p style=\"padding-left: 40px;\">\n<\/p><p style=\"padding-left: 40px;\">@inject IStartrekClient startrekClient<\/p>\n<p style=\"padding-left: 40px;\">\n<\/p><p style=\"padding-left: 40px;\">&lt;PageTitle&gt;Actors by GraphQL&lt;\/PageTitle&gt;<\/p>\n<p style=\"padding-left: 40px;\">\n<\/p><p style=\"padding-left: 40px;\">&lt;h1&gt;Actors by GraphQL&lt;\/h1&gt;<\/p>\n<p style=\"padding-left: 40px;\">\n<\/p><p style=\"padding-left: 40px;\">&lt;UseGetActors Context=&#8221;result&#8221;&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; &lt;ChildContent&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class=&#8221;grid&#8221;&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;QuickGrid Items=&#8221;result.Actors!.Items.AsQueryable()&#8221;&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyColumn Property=&#8221;@(a =&gt; a.Id)&#8221; Sortable=&#8221;true&#8221; \/&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyColumn Property=&#8221;@(a =&gt; a.Name)&#8221; Sortable=&#8221;true&#8221; \/&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyColumn Property=&#8221;@(a =&gt; a.BirthYear)&#8221; Sortable=&#8221;true&#8221; \/&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/QuickGrid&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/div&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; &lt;\/ChildContent&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; &lt;ErrorContent&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Something went wrong &#8230;&lt;br \/&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @result.First().Message<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; &lt;\/ErrorContent&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; &lt;LoadingContent&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Loading &#8230;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; &lt;\/LoadingContent&gt;<\/p>\n<p style=\"padding-left: 40px;\">&lt;\/UseGetActors&gt;<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p>Die Komponente l\u00e4dt automatisch die Daten \u00fcber die Abfrage und macht sie im result-Kontext verf\u00fcgbar.<\/p>\n<h5><strong>Virtualisierung im QuickGrid<\/strong><\/h5>\n<p>Die Virtualisierung ist eine Technik, bei der nur die im Sichtbereich befindlichen Zeilen gerendert werden. Dies verbessert die Performance erheblich, insbesondere bei grossen Datenmengen. Um die Virtualisierung zu aktivieren, setzen Sie die Virtualize-Eigenschaft des QuickGrid auf true. Sie ben\u00f6tigen ausserdem einen ItemsProvider, um die Daten abzurufen:<\/p>\n<p><\/p>\n<p>&#8221;&#8217;<\/p>\n<p>&lt;div class=&#8221;grid&#8221; tabindex=&#8221;-1&#8243;&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp; &lt;QuickGrid ItemsProvider=&#8221;@actorProvider&#8221; Virtualize=&#8221;true&#8221;&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyColumn Property=&#8221;@(a =&gt; a.Id)&#8221; Sortable=&#8221;false&#8221; \/&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyColumn Property=&#8221;@(a =&gt; a.Name)&#8221; Sortable=&#8221;true&#8221;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IsDefaultSortColumn=&#8221;true&#8221;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InitialSortDirection=&#8221;SortDirection.Ascending&#8221;\/&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyColumn Property=&#8221;@(a =&gt; a.BirthYear)&#8221; Sortable=&#8221;false&#8221; \/&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp; &lt;\/QuickGrid&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p><\/p>\n<p>&lt;div class=&#8221;my-2&#8243;&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp; &lt;div class=&#8221;inline-block my-1&#8243;&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Total: &lt;strong&gt;@numResults results&lt;\/strong&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp; &lt;\/div&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>&#8221;&#8217;<\/p>\n<p><\/p>\n<p>Definieren Sie den actorProvider so, dass er Daten entsprechend den Parametern StartIndex und Count abruft:<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p style=\"padding-left: 40px;\">@code {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; GridItemsProvider&lt;IGetActors_Actors_Items&gt; actorProvider;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; int numResults = 0;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; protected override async Task OnInitializedAsync()<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actorProvider = async request =&gt;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var response = await startrekClient.GetActors.ExecuteAsync(request.StartIndex, request.Count, request.CancellationToken);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (numResults == 0 &amp;&amp; !request.CancellationToken.IsCancellationRequested)<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numResults = response!.Data.Actors.TotalCount;<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StateHasChanged();<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return GridItemsProviderResult.From(<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items: new List&lt;IGetActors_Actors_Items&gt;(response!.Data.Actors.Items),<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; totalItemCount: response!.Data.Actors.TotalCount<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; }<\/p>\n<p style=\"padding-left: 40px;\">}<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<h5><strong>Anpassung der GraphQL-Abfrage<\/strong><\/h5>\n<p>Um die Pagination in der GraphQL-Abfrage zu unterst\u00fctzen, passen wir die Abfrage an, damit sie die Parameter skip und take akzeptiert:<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<p style=\"padding-left: 40px;\">query GetActors($skip: Int, $take: Int) {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp; actors(skip: $skip, take: $take, sortBy: &#8220;name&#8221;) {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; items {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; birthYear<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; }<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; pageInfo {<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hasNextPage<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hasPreviousPage<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; }<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;&nbsp;&nbsp; totalCount<\/p>\n<p style=\"padding-left: 40px;\">&nbsp; }<\/p>\n<p style=\"padding-left: 40px;\">}<\/p>\n<p style=\"padding-left: 40px;\">&#8221;&#8217;<\/p>\n<h4><strong>Fazit<\/strong><\/h4>\n<p>In diesem Beitrag haben wir gezeigt, wie Sie eine Blazor QuickGrid-Komponente mit einer GraphQL-Abfrage \u00fcber StrawberryShake verbinden. Ausserdem haben wir die Virtualisierungsfunktion des QuickGrid aktiviert, um die Performance bei grossen Datenmengen zu optimieren. Das QuickGrid ist eine leistungsstarke Komponente, die auf vielf\u00e4ltige Weise angepasst werden kann.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>In unserem neuesten Blog-Beitrag werfen wir einen Blick darauf, wie Sie das Blazor QuickGrid mit Daten aus einer GraphQL-Abfrage bef\u00fcllen k\u00f6nnen. Basierend auf einem Artikel von Microsoft zeigen wir Ihnen, wie Sie die leistungsstarke Kombination aus Blazor und GraphQL nutzen k\u00f6nnen, um eine schnelle und reaktionsf\u00e4hige Datenanzeige zu erstellen. Besonders praktisch ist dabei die Virtualisierungsfunktion [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":16371,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[65,271,277],"tags":[],"class_list":["post-16366","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-de","category-microsoft-dotnet-de","category-welt-der-it"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL - Comitas Staging Site<\/title>\n<meta name=\"description\" content=\"In unserem neuesten Blog-Beitrag werfen wir einen Blick darauf, wie Sie das Blazor QuickGrid mit Daten aus einer GraphQL-Abfrage bef\u00fcllen k\u00f6nnen.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL - Comitas Staging Site\" \/>\n<meta property=\"og:description\" content=\"In unserem neuesten Blog-Beitrag werfen wir einen Blick darauf, wie Sie das Blazor QuickGrid mit Daten aus einer GraphQL-Abfrage bef\u00fcllen k\u00f6nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/\" \/>\n<meta property=\"og:site_name\" content=\"Comitas Staging Site\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-09T12:52:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-11T11:39:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Julia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/\"},\"author\":{\"name\":\"Julia\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/28c8d075f677168399c7948b12668d36\"},\"headline\":\"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL\",\"datePublished\":\"2024-09-09T12:52:02+00:00\",\"dateModified\":\"2024-12-11T11:39:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/\"},\"wordCount\":1309,\"publisher\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#organization\"},\"image\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png\",\"articleSection\":[\"Blog\",\"Microsoft .NET\",\"Welt der IT\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/\",\"name\":\"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL - Comitas Staging Site\",\"isPartOf\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png\",\"datePublished\":\"2024-09-09T12:52:02+00:00\",\"dateModified\":\"2024-12-11T11:39:24+00:00\",\"description\":\"In unserem neuesten Blog-Beitrag werfen wir einen Blick darauf, wie Sie das Blazor QuickGrid mit Daten aus einer GraphQL-Abfrage bef\u00fcllen k\u00f6nnen.\",\"breadcrumb\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#primaryimage\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png\",\"contentUrl\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png\",\"width\":2000,\"height\":1000,\"caption\":\"Microsoft .NET\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/stagingcopy.comitas.com\/dir\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#website\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/\",\"name\":\"Comitas Staging Site\",\"description\":\"Auf bestem Weg nach Morgen\",\"publisher\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/stagingcopy.comitas.com\/dir\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#organization\",\"name\":\"Comitas\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2022\/01\/Comitas-Logo-01-1.svg\",\"contentUrl\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2022\/01\/Comitas-Logo-01-1.svg\",\"width\":198,\"height\":80,\"caption\":\"Comitas\"},\"image\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/comitas-ag\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/28c8d075f677168399c7948b12668d36\",\"name\":\"Julia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/971dc414d4c624079b5aa418d5352c0b41b900d8db64b3bd55019929a5c1e8dd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/971dc414d4c624079b5aa418d5352c0b41b900d8db64b3bd55019929a5c1e8dd?s=96&d=mm&r=g\",\"caption\":\"Julia\"},\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/author\/julia\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL - Comitas Staging Site","description":"In unserem neuesten Blog-Beitrag werfen wir einen Blick darauf, wie Sie das Blazor QuickGrid mit Daten aus einer GraphQL-Abfrage bef\u00fcllen k\u00f6nnen.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL - Comitas Staging Site","og_description":"In unserem neuesten Blog-Beitrag werfen wir einen Blick darauf, wie Sie das Blazor QuickGrid mit Daten aus einer GraphQL-Abfrage bef\u00fcllen k\u00f6nnen.","og_url":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/","og_site_name":"Comitas Staging Site","article_published_time":"2024-09-09T12:52:02+00:00","article_modified_time":"2024-12-11T11:39:24+00:00","og_image":[{"width":2000,"height":1000,"url":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png","type":"image\/png"}],"author":"Julia","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Julia","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#article","isPartOf":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/"},"author":{"name":"Julia","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/28c8d075f677168399c7948b12668d36"},"headline":"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL","datePublished":"2024-09-09T12:52:02+00:00","dateModified":"2024-12-11T11:39:24+00:00","mainEntityOfPage":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/"},"wordCount":1309,"publisher":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/#organization"},"image":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#primaryimage"},"thumbnailUrl":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png","articleSection":["Blog","Microsoft .NET","Welt der IT"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/","url":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/","name":"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL - Comitas Staging Site","isPartOf":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/#website"},"primaryImageOfPage":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#primaryimage"},"image":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#primaryimage"},"thumbnailUrl":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png","datePublished":"2024-09-09T12:52:02+00:00","dateModified":"2024-12-11T11:39:24+00:00","description":"In unserem neuesten Blog-Beitrag werfen wir einen Blick darauf, wie Sie das Blazor QuickGrid mit Daten aus einer GraphQL-Abfrage bef\u00fcllen k\u00f6nnen.","breadcrumb":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#primaryimage","url":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png","contentUrl":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/09\/Microsoft-.NET-22.png","width":2000,"height":1000,"caption":"Microsoft .NET"},{"@type":"BreadcrumbList","@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-datenanzeige-mit-blazor-quickgrid-und-graphql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/stagingcopy.comitas.com\/dir\/"},{"@type":"ListItem","position":2,"name":"Effiziente Datenanzeige mit Blazor QuickGrid und GraphQL"}]},{"@type":"WebSite","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#website","url":"https:\/\/stagingcopy.comitas.com\/dir\/","name":"Comitas Staging Site","description":"Auf bestem Weg nach Morgen","publisher":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stagingcopy.comitas.com\/dir\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#organization","name":"Comitas","url":"https:\/\/stagingcopy.comitas.com\/dir\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/logo\/image\/","url":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2022\/01\/Comitas-Logo-01-1.svg","contentUrl":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2022\/01\/Comitas-Logo-01-1.svg","width":198,"height":80,"caption":"Comitas"},"image":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/comitas-ag"]},{"@type":"Person","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/28c8d075f677168399c7948b12668d36","name":"Julia","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/971dc414d4c624079b5aa418d5352c0b41b900d8db64b3bd55019929a5c1e8dd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/971dc414d4c624079b5aa418d5352c0b41b900d8db64b3bd55019929a5c1e8dd?s=96&d=mm&r=g","caption":"Julia"},"url":"https:\/\/stagingcopy.comitas.com\/dir\/author\/julia\/"}]}},"_links":{"self":[{"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/posts\/16366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/comments?post=16366"}],"version-history":[{"count":13,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/posts\/16366\/revisions"}],"predecessor-version":[{"id":18173,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/posts\/16366\/revisions\/18173"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/media\/16371"}],"wp:attachment":[{"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/media?parent=16366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/categories?post=16366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/tags?post=16366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}