Syncfusion provides over 1,800 UI components and frameworks for building stunning applications on mobile, web, and desktop platforms. Quickly build responsive and high-performance applications in any of these supported frameworks: Blazor, .NET MAUI, Flutter, Xamarin, Angular, JavaScript, React, Vue, and more. There are also document-processing libraries for Excel, PDF, Word, and PowerPoint files.
Our RU-vid channel is dedicated to helping developers in their ongoing quest for instruction. Watch Syncfusion product how-to tutorials, product demos, product release highlights and webinars to learn what Syncfusion has to offer in more depth. Syncfusion products help developers deliver elegant user interfaces and innovative solutions on time and in the formats users demand.
To learn more about Syncfusion and to download a 30-day free trial of Essential Studio, please visit www.syncfusion.com.
Kindly please elucidate or explain what is the purpose of having the following two lines of code within the GetEdmModel method: FunctionConfiguration myFirstFunction = books.EntityType.Collection.Function("MyFirstFunction"); myFirstFunction.ReturnsCollectionFromEntitySet<Order>("Orders");
Hi, Based on your query, we would like to clarify the following; The line books.EntityType.Collection.Function("MyFirstFunction") defines a function on the collection of the entity type Orders. The ReturnsCollectionFromEntitySet method in the ODataConventionModelBuilder is used to specify that a function or action returns a collection of entities from a specified entity set. Therefore, myFirstFunction.ReturnsCollectionFromEntitySet<Orders>("Orders") specifies that myFirstFunction will return a collection of entities from the "Orders" entity set. For more information, please refer to the documentation below for your reference Reference: learn.microsoft.com/en-us/dotnet/api/microsoft.aspnet.odata.builder.odataconventionmodelbuilder?view=odata-aspnetcore-7.0 learn.microsoft.com/en-us/dotnet/api/microsoft.aspnet.odata.builder.actionconfiguration.returnscollectionfromentityset?view=odata-aspnetcore-7.0 learn.microsoft.com/en-us/dotnet/api/microsoft.aspnet.odata.builder.actionconfiguration.returnscollectionfromentityset?view=odata-aspnetcore-7.0
Hi, PdfBookmark is used to create new bookmarks in a PDF document, while PdfLoadedBookmark is intended to access and modify existing bookmarks in a loaded PDF document. For more information, please refer to the UG documentation: help.syncfusion.com/document-processing/pdf/pdf-library/net/working-with-bookmarks
i am getting this error please help me to fix this nvalidOperationException: Cannot find the fallback endpoint specified by route values: { page: /_Host, area: }. Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.DynamicPageEndpointMatcherPolicy.ApplyAsync(HttpContext httpContext, CandidateSet candidates)
Hi, We were unable to locate any queries concerning the issue highlighted in the video. Could you please offer a detailed description of the problem you are experiencing? Did you come across any exceptions while following the steps outlined in the video? A more thorough explanation of the specific location of the issue would greatly assist us in analyzing it further and providing you with an appropriate solution. Thank you.
Hi, You can achieve your requirement by using the dateHeaderTemplate of the Schedule component. This allows you to customize the date in the schedule to meet your needs. Please review the attached code snippet and sample demonstration, and let us know if you need any further assistance. @page @model IndexModel @{ ViewData["Title"] = "Home page"; } @using Syncfusion.EJ2.Schedule; @{ } <ejs-schedule id="schedule" width="100%" height="650px" dateHeaderTemplate="#date-template"> <e-schedule-header-rows> <e-schedule-header-row option="Month" template="#month-template"></e-schedule-header-row> <e-schedule-header-row option="Week" template="#week-template"></e-schedule-header-row> <e-schedule-header-row option="Date"></e-schedule-header-row> </e-schedule-header-rows> <e-schedule-views> <e-schedule-view option="TimelineWeek"></e-schedule-view> <e-schedule-view option="TimelineWorkWeek"></e-schedule-view> <e-schedule-view option="TimelineMonth"></e-schedule-view> </e-schedule-views> </ejs-schedule> <script id="month-template" type="text/x-template"> <span class="month">${getMonthDetails(data)}</span> </script> <script id="week-template" type="text/x-template"> <span class="week">${getWeekDetails(data)}</span> </script> <script id="date-template" type="text/x-template"> <span class="date">${getFormattedDate(data.date)}</span> </script> <script type="text/javascript"> var instance = new ej.base.Internationalization(); window.getMonthDetails = function (value) { return instance.formatDate(value.date, { skeleton: 'yMMMM' }); }; window.getWeekDetails = function (value) { return 'Week ' + ej.schedule.getWeekNumber(value.date); }; window.getFormattedDate = function (date) { // Custom date format: "Aug -12" return instance.formatDate(date, { format: 'MMM -dd' }); }; </script> Documentation: ej2.syncfusion.com/aspnetcore/documentation/schedule/header-bar#using-date-header-template
Hi, You can save the added or modified annotations to the PDF document using the saveDocument method (pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/saveDocument.html) in the PdfViewerController class (pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController-class.html). Code snippet: final PdfViewerController _pdfViewerController = PdfViewerController(); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Syncfusion Flutter PDF Viewer'), actions: [ IconButton( icon: const Icon( Icons.save, color: Colors.white, ), onPressed: () async { final List savedBytes = await _pdfViewerController.saveDocument(); }, ), ], ), body: SfPdfViewer.asset( 'assets/flutter_succinctly.pdf', controller: _pdfViewerController, ), ); } Currently, the Syncfusion Flutter PDF viewer does not support exporting annotations.
Hello @klochar9051, Our paid and free versions both have the same features and support. You can check here to see if you qualify for our Community (free) license. It's available for companies with 5 or fewer developers and less than $1 Mil USD in annual revenue. bit.ly/395t17c
Hello, kindly please upload tutorial video for Syncfusion's Blazor AutoComplete component especially on how to connect data from local sources or remote services such as OData, OData V4, and Web API using our Data Manager.
Hi, We already have a tutorial video available in the following documentation. Could you please clarify where you would like us to include the Blazor AutoComplete tutorial video? blazor.syncfusion.com/documentation/autocomplete/getting-started
Hello, kindly please upload video tutorial for this Syncfusion's Blazor AutoComplete component on how to connect data from local sources or remote services such as OData, OData V4, and Web API using our Data Manager.
Hi, We already have a tutorial video available in the following documentation. Please clarify where you want us to include the Blazor AutoComplete tutorial video. blazor.syncfusion.com/documentation/autocomplete/getting-started
Hello, Please follow these steps to troubleshoot the issue: 1. Check USB Connection: Ensure that the USB cable is properly connected and that the device is recognized by the computer. 2. Enable Developer Options: Verify that developer options are enabled on the device and that USB debugging is turned on. For detailed guidance, please refer to the following link: learn.microsoft.com/en-us/dotnet/maui/android/device/setup?view=net-maui-8.0
Hello, Solution 1: You can localize the label text for the high, low, open, and close labels for the CandleSeries (pub.dev/documentation/syncfusion_flutter_charts/latest/charts/CandleSeries-class.html) by customizing the label text in the onTrackballPositionChanging (pub.dev/documentation/syncfusion_flutter_charts/latest/charts/SfCartesianChart/onTrackballPositionChanging.html) callback of the SfCartesianChart (pub.dev/documentation/syncfusion_flutter_charts/latest/charts/SfCartesianChart-class.html). We have shared the user guide documentation link below for your reference. help.syncfusion.com/flutter/cartesian-charts/callbacks#ontrackballpositionchanging Solution 2: You can localize the label text for the high, low, open, and close labels for the CandleSeries (pub.dev/documentation/syncfusion_flutter_charts/latest/charts/CandleSeries-class.html) by adding the Text widget in the builder (pub.dev/documentation/syncfusion_flutter_charts/latest/charts/TrackballBehavior/builder.html) of TrackballBehavior (pub.dev/documentation/syncfusion_flutter_charts/latest/charts/TrackballBehavior-class.html). Doing this lets you display localized labels with a custom widget inside the Trackball Tooltip. We have shared the user guide documentation link and online sample link below. UG link for the builder in the TrackballBehavior: help.syncfusion.com/flutter/cartesian-charts/trackball-crosshair#trackball-tooltip-template SB link for the builder in the TrackballBehavior: flutter.syncfusion.com/#/cartesian-charts/user-interactions/trackball/customized-trackball At the moment, we do not offer the option to directly customize the labels in the Trackball tooltip. We recognize this as a potential enhancement and have submitted a report to our feedback portal. The timeline for implementation is still uncertain. We will keep you informed as soon as this feature is available. Thank you for your patience in the meantime. Feedback Report Link: www.syncfusion.com/feedback/60138
Hi, We believe that the issue you are experiencing with pasting is due to incorrect server configuration. DocumentEditor depends on server-side interaction for below listed operations. Import Word Document Paste with formatting Restrict Editing Spell Check Save as file formats other than SFDT and DOCX You can deploy web APIs for server-side dependencies of Document Editor component in the following platforms. ej2.syncfusion.com/react/documentation/document-editor/web-services/core/ ej2.syncfusion.com/react/documentation/document-editor/web-services/mvc/ ej2.syncfusion.com/react/documentation/document-editor/web-services/java/ Paste with formatting: SystemClipboard Web API converts the system clipboard data (HTML/RTF) to SFDT format which is required to paste content with formatting. Documentation link for reference: ej2.syncfusion.com/react/documentation/document-editor/web-services/core#paste-with-formatting ej2.syncfusion.com/react/documentation/document-editor/web-services/ Service URL: Please refer to the example from GitHub (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Ke27Mip4bN0.html&lc=UgzU_ArZsGm1P5qt9YR4AaABAg) to configure the web service and set the serviceUrl. If your running web service Url is localhost:62869/, set the serviceUrl like below: this.container.serviceUrl = " localhost:62869/api/documenteditor/"; Sample: stackblitz.com/edit/react-mnv6kz-qbh8u6?file=index.js Webservice link: github.com/SyncfusionExamples/EJ2-Document-Editor-Web-Services If you have set up the server correctly, please provide the steps to replicate the issue along with a video demonstration.
Hi, We believe that the issue you are experiencing with pasting is due to incorrect server configuration. DocumentEditor depends on server-side interaction for below listed operations. Import Word Document Paste with formatting Restrict Editing Spell Check Save as file formats other than SFDT and DOCX You can deploy web APIs for server-side dependencies of Document Editor component in the following platforms. ej2.syncfusion.com/react/documentation/document-editor/web-services/core/ ej2.syncfusion.com/react/documentation/document-editor/web-services/mvc/ ej2.syncfusion.com/react/documentation/document-editor/web-services/java/ Paste with formatting: SystemClipboard Web API converts the system clipboard data (HTML/RTF) to SFDT format which is required to paste content with formatting. Documentation link for reference: ej2.syncfusion.com/react/documentation/document-editor/web-services/core#paste-with-formatting ej2.syncfusion.com/react/documentation/document-editor/web-services/ Service URL: Please refer to the example from GitHub (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Ke27Mip4bN0.html&lc=UgzU_ArZsGm1P5qt9YR4AaABAg) to configure the web service and set the serviceUrl. If your running web service Url is localhost:62869/, set the serviceUrl like below: this.container.serviceUrl = " localhost:62869/api/documenteditor/"; Sample: stackblitz.com/edit/react-mnv6kz-qbh8u6?file=index.js Webservice link: github.com/SyncfusionExamples/EJ2-Document-Editor-Web-Services If you have set up the server correctly, please provide the steps to replicate the issue along with a video demonstration.
Regarding the Filtering function, I would like to ask what will be returned by dataManagerRequest.Where and dataManagerRequest.Where[0].Operator which are passed as parameters for DataOperations.PerformFiltering method ??? DataOperations.PerformFiltering(gridData, dataManagerRequest.Where, dataManagerRequest.Where[0].Operator);
Hi, We would like to inform you that: DataManagerRequest.Where is the collection of filter conditions. DataManagerRequest.Where[0].Operator is the operator used for the filter condition. These parameters are passed to the PerformFiltering method to filter the data source accordingly i.e.) This method will return a list of filtered records as a result. Reference: blazor.syncfusion.com/documentation/data/custom-binding // Implementing custom adaptor by extending the DataAdaptor class public class CustomAdaptor : DataAdaptor { // Performs data Read operation public override object Read(DataManagerRequest dm, string key = null) { IEnumerable<Order> DataSource = Orders; if (dm.Where != null && dm.Where.Count > 0) { // Filtering DataSource = DataOperations.PerformFiltering(DataSource, dm.Where, dm.Where[0].Operator); // returns the filtered data source } int count = DataSource.Cast<Order>().Count(); if (dm.Skip != 0) { //Paging DataSource = DataOperations.PerformSkip(DataSource, dm.Skip); } if (dm.Take != 0) { DataSource = DataOperations.PerformTake(DataSource, dm.Take); } return dm.RequiresCounts ? new DataResult() { Result = DataSource, Count = count } : (object)DataSource; }
Hi, Yes, you can use ASP.NET MVC as a backend with an SQL database. Please find the sample in the link below: github.com/SyncfusionExamples/ej2-aspmvc-scheduler-crud
Hi @junemascara, If you have further queries, you can open a support ticket through this link www.syncfusion.com/support/directtrac/incidents/newincident
Hi, To change the background of the image editor you can utilize the `Background’ property. For more details please refer to our UG documentation: help.syncfusion.com/maui/imageeditor/getting-started?#change-the-image-editor-background
Hi, We have checked your reported query regarding icons not displaying properly. To check the issue, we created a React spreadsheet local sample on our end using the provided RU-vid video. However, we encountered no problems, as all the icons were displayed properly. For your convenience, we have shared the video demonstration and the sample which we have prepared on our end for your reference below. Sample: www.syncfusion.com/downloads/support/directtrac/general/ze/Sample-616222890619214? Video Link: www.syncfusion.com/downloads/support/directtrac/general/ze/Video-6162221771796263? Additionally, please refer to the below documentation regarding the dependent CSS style references needed for the React spreadsheet component. UG Link: ej2.syncfusion.com/react/documentation/spreadsheet/getting-started?#adding-css-reference If you still face the issue on your end, please share the following details to help us validate and provide a better solution quickly. The version of the spreadsheet you are currently using. Clear details about which icons are not showing properly, including a screenshot or video demonstration. The code snippet of the CSS style references being used on your end. If you are using any other custom CSS style reference, then kindly share those details along with the code snippet.
Hi, Yes, the Document editor supports the "pt-BR" language. Please find the below sample for reference. Sample: pulse.ly/wqyajfgrex Documentation: pulse.ly/ewibc82rjz
Hi, In the title, we did not mention Syncfusion's .NET MAUI Slider, whereas the description explains that the video provides steps for getting started with Syncfusion's .NET MAUI Slider.
@@SyncfusionInc description is not important. When you search you do not see description in the first place. You need to click to see it. So this is why I said this is misleading. You are just click baiting unintentionally.
Hi, More indicators will be enabled if more than 100 tasks are present in the same time slot in the day view. If you don't want to use the additional indicators, you can enable the Scheduler's rowAutoHeight property (ej2.syncfusion.com/react/documentation/api/schedule/#rowautoheight). This allows the height of the work cells to adjust automatically based on the number of appointments present in those time ranges.
What if I need the dialog to be able to be dragged anywhere in the screen but I can't define a target because it would block the entire screen? Is there a way to provide manually the values that the dialog expects to get from the target?
Hi, To make the Blazor Dialog draggable anywhere on the screen, avoid setting the Target property. By default, the dialog is appended to the body, allowing it to be draggable across the entire screen. If you set a target, the dialog will only be draggable within that target area. Here is an simple example of how you can achieve this: @using Syncfusion.Blazor.Popups <SfDialog Width="300px" Height="200px" IsModal="true" AllowDragging="true" Visible="true"> <DialogTemplates> <Header>Draggable Dialog</Header> <Content> This dialog can be dragged anywhere on the screen. </Content> </DialogTemplates> </SfDialog> @code { private bool IsVisible { get; set; } = true; private void OpenDialog() { this.IsVisible = true; } private void CloseDialog() { this.IsVisible = false; } } In this example, the AllowDragging property is set to true, and the Target property is not defined, allowing the dialog to be dragged anywhere on the screen.
Hi, We are unable to reproduce the reported issue using TreeMap component in the Next.js application version 14.2.5. You can find the sample and video in which we tried to replicate the reported issue below. Sample: www.syncfusion.com/downloads/support/directtrac/general/ze/TreemapSample206381601 Video: www.syncfusion.com/downloads/support/directtrac/general/ze/TreeMap223316076 You can find the code snippet for declaring the TreeMap component below. Code Snippet: 'use client' import { TreeMapComponent } from '@syncfusion/ej2-react-treemap'; export default function Home() { return ( <TreeMapComponent height= '350px' dataSource={[ { Title: 'State wise International Airport count in South America', State: "Brazil", Count: 25 }, { Title: 'State wise International Airport count in South America', State: "Colombia", Count: 1 }, { Title: 'State wise International Airport count in South America', State: "Argentina", Count: 9 }, { Title: 'State wise International Airport count in South America', State: "Ecuador", Count: 7 }, { Title: 'State wise International Airport count in South America', State: "Chile", Count: 6 }, ]} weightValuePath='Count' leafItemSettings= { { labelPath: 'State' }}> </TreeMapComponent> ); } Please modify the above sample to replicate the reported issue or share the steps to replicate the reported issue. It will be helpful for us to analyze and assist you better.
Hi, Certainly, it is possible to import HTML content into the Document Editor by converting the HTML content into an SFDT string. This can be achieved by inserting the HTML string at the current cursor position using the paste API. Client: function loadFile(file: File) { let ajax: XMLHttpRequest = new XMLHttpRequest(); ajax.open('POST', 'localhost:4000/api/documenteditor/ImportHTML', true); pulse.ly/tohijgiz0w = () => { if (ajax.readyState === 4) { if (pulse.ly/c8lnb7zljy === 200 || pulse.ly/c8lnb7zljy === 304) { // Insert the sfdt content in cursor position using paste API container.documentEditor.editor.paste(ajax.response); } } }; ajax.send(); } Server: using Syncfusion.EJ2.DocumentEditor; using WDocument = Syncfusion.DocIO.DLS.WordDocument; [AcceptVerbs("Post")] [HttpPost] [EnableCors("AllowAllOrigins")] [Route("ImportHTML")] public string ImportHTML() { string path = pulse.ly/v01gfgdge5 + "//Page1.html"; FileStream fileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite); WDocument wDocument = new WDocument(fileStream, WFormatType.Html); WordDocument document = WordDocument.Load(wDocument); string json = Newtonsoft.Json.JsonConvert.SerializeObject(document); document.Dispose(); return json; } Web service link: pulse.ly/xpwm0wuz4q