


A brief analysis of the automatic column generation function of the Table component in Bootstrap Blazor
The following Bootstrap column will take you through the Table component in BootstrapBlazor and introduce the automatic column generation function of the Table component. I hope it will be helpful to everyone!
Bootstrap Blazor is an enterprise-level UI component library that is adapted to mobile devices and supports various mainstream browsers. It has been used in multiple delivery projects. This set of components can greatly shorten the development cycle and save development costs. More than 70 components have been developed and packaged so far.
Gitee open source address is: https://gitee.com/LongbowEnterprise/BootstrapBlazor
Github open source address is: https://github .com/ArgoZhang/BootstrapBlazor
Online demo website: https://www.blazor.zone
Table
should be the core component for management website development. A lot of functions can be derived from Table
. Since there is almost no publicity for this set of components, not many people know about it, but many friends After using some other open source blazor projects, I found that the Table
component cannot be used at all.
- Loading data is too stuck
- There are too many missing functions
So from today on, I will officially introduce the performance explosion and simple operationBootstrapBlazor
The strongest king component in the component library Table
, because there are so many functions, there are nearly 60 functions in the current website that are needed in actual combat. In the next time, we will Introduce one by one
Automatically generate column function
When using the Table
component, most components require user input for display Those columns, this will add a lot of column-related information to the razor
file, as shown below
<TableColumn @bind-Field="@context.DateTime" Width="180" /> <TableColumn @bind-Field="@context.Name" /> <TableColumn @bind-Field="@context.Address" /> <TableColumn @bind-Field="@context.Education" /> <TableColumn @bind-Field="@context.Count" /> <TableColumn @bind-Field="@context.Complete">
If there are too many attributes of an entity class. It will be very long to write here. BootstrapBlazor
The Table
component of the component library has a property AutoGenerateColumns
. When its value is set to true
When , column information will be automatically generated based on the attributes of the bound model, saving developers a lot of code. How about taking a look at the example
<Table TItem="BindItem" IsStriped="true" IsBordered="true" IsMultipleSelect="true" ShowToolbar="true" ShowExtendButtons="true" AutoGenerateColumns="true" OnQueryAsync="@OnEditQueryAsync" OnResetSearchAsync="@OnResetSearchAsync" OnSaveAsync="@OnSaveAsync" OnDeleteAsync="@OnDeleteAsync"> </Table>
first? Through this line of code, the table is fully automatically generated, and all functions such as adding, deleting, modifying, checking, filtering, sorting, etc. are provided. The rendering is as follows
#Are you a little excited that such a small amount of code can actually achieve so many functions? That's right! It is so simple to develop the Table
component using the BootstrapBlazor
component library.
Key points
UseTable
Basic operations at the component UI level have been encapsulated into component functions, and developers only need to shift their energy to Database operations, such as
-
OnQueryAsync
in the example, data query method -
OnSaveAsync
data saving method (automatically determine primary key execution internally) Insert or update operation) -
OnDeleteAsync
Data deletion method (you can perform real deletion or mark deletion operation by yourself) -
OnResetSearchAsync
Reset search method
Implementation principle
Table
The component is a generic component, set by TItem
The binding model type is set to BindItem
entity class. In this entity class, the automatically generated column rules are set through the AutoGenerateColumnAttribute
tag. The specific parameters are as follows:
[AttributeUsage(AttributeTargets.Property)] public class AutoGenerateColumnAttribute : Attribute, ITableColumn { /// <summary> /// 获得/设置 显示顺序 /// </summary> public int Order { get; set; } /// <summary> /// 获得/设置 是否忽略 默认为 false 不忽略 /// </summary> public bool Ignore { get; set; } /// <summary> /// 获得/设置 当前列是否可编辑 默认为 true 当设置为 false 时自动生成编辑 UI 不生成此列 /// </summary> public bool Editable { get; set; } = true; /// <summary> /// 获得/设置 当前列编辑时是否只读 默认为 false /// </summary> public bool Readonly { get; set; } /// <summary> /// 获得/设置 是否允许排序 默认为 false /// </summary> public bool Sortable { get; set; } /// <summary> /// 获得/设置 是否为默认排序列 默认为 false /// </summary> public bool DefaultSort { get; set; } /// <summary> /// 获得/设置 是否为默认排序规则 默认为 SortOrder.Unset /// </summary> public SortOrder DefaultSortOrder { get; set; } /// <summary> /// 获得/设置 是否允许过滤数据 默认为 false /// </summary> public bool Filterable { get; set; } /// <summary> /// 获得/设置 是否参与搜索 默认为 false /// </summary> public bool Searchable { get; set; } /// <summary> /// 获得/设置 列宽 /// </summary> public int? Width { get; set; } /// <summary> /// 获得/设置 是否固定本列 默认 false 不固定 /// </summary> public bool Fixed { get; set; } /// <summary> /// 获得/设置 列是否显示 默认为 true 可见的 /// </summary> public bool Visible { get; set; } = true; /// <summary> /// 获得/设置 本列是否允许换行 默认为 false /// </summary> public bool AllowTextWrap { get; set; } /// <summary> /// 获得/设置 本列文本超出省略 默认为 false /// </summary> public bool TextEllipsis { get; set; } /// <summary> /// 获得/设置 列 td 自定义样式 默认为 null 未设置 /// </summary> public string? CssClass { get; set; } /// <summary> /// 获得/设置 显示节点阈值 默认值 BreakPoint.None 未设置 /// </summary> public BreakPoint ShownWithBreakPoint { get; set; } /// <summary> /// 获得/设置 格式化字符串 如时间类型设置 yyyy-MM-dd /// </summary> public string? FormatString { get; set; } /// <summary> /// 获得/设置 文字对齐方式 默认为 Alignment.None /// </summary> public Alignment Align { get; set; } /// <summary> /// 获得/设置 字段鼠标悬停提示 /// </summary> public bool ShowTips { get; set; } /// <summary> /// 获得/设置 列格式化回调委托 /// </summary> public Func<object?, Task<string>>? Formatter { get; set; } /// <summary> /// 获得/设置 编辑模板 /// </summary> public RenderFragment<object>? EditTemplate { get; set; } /// <summary> /// 获得/设置 显示模板 /// </summary> public RenderFragment<object>? Template { get; set; } /// <summary> /// 获得/设置 搜索模板 /// </summary> public RenderFragment<object>? SearchTemplate { get; set; } /// <summary> /// 获得/设置 过滤模板 /// </summary> public RenderFragment? FilterTemplate { get; set; } /// <summary> /// 获得/设置 列头显示文字未设置时显示字段名称 /// </summary> public string? Text { get; set; } }
here There are a large number of parameters that can be limited, just look at the comments. For more documents, please view the online demonstration document https://www.blazor.zone/tables/column
For more knowledge about bootstrap, please visit: bootstrap tutorial! !
The above is the detailed content of A brief analysis of the automatic column generation function of the Table component in Bootstrap Blazor. For more information, please follow other related articles on the PHP Chinese website!

Bootstrap is an open source front-end framework developed by Twitter, providing rich CSS and JavaScript components, simplifying the construction of responsive websites. 1) Its grid system is based on a 12-column layout, and the display of elements under different screen sizes is controlled through class names. 2) The component library includes buttons, navigation bars, etc., which are easy to customize and use. 3) The working principle depends on CSS and JavaScript files, and you need to pay attention to handling dependencies and style conflicts. 4) The usage examples show basic and advanced usage, emphasizing the importance of custom functionality. 5) Common errors include grid system calculation errors and style coverage, which require debugging using developer tools. 6) Performance optimization recommendations only introduce necessary components and customize samples using preprocessors

Bootstrap is an open source front-end framework developed by the Twitter team to simplify and speed up the web development process. 1.Bootstrap is based on HTML, CSS and JavaScript, and provides a wealth of components and tools for creating modern user interfaces. 2. Its core lies in responsive design, implementing various layouts and styles through predefined classes and components. 3.Bootstrap provides predefined UI components, such as navigation bars, buttons, forms, etc., which are easy to use and adjust. 4. Examples of usage include creating a simple navigation bar and advanced collapsible sidebar. 5. Common errors include version conflicts, CSS overwrites and JavaScript errors, which can be used through the version management tool.

Bootstrap can be integrated in React in two ways: 1) CSS and JavaScript files using Bootstrap; 2) Use the React-Bootstrap library. React-Bootstrap provides encapsulated React components, making using Bootstrap in React more natural and efficient.

There are two ways to use Bootstrap components in React projects: 1) CSS and JavaScript of the original Bootstrap; 2) Use libraries designed specifically for React such as react-bootstrap or reactstrap. 1) Install Bootstrap through npm and introduce its CSS file in the entry file, and then use the Bootstrap class name in the React component. 2) After installing react-bootstrap or reactstrap, directly use the React components it provides. Use these methods to quickly build a responsive UI, but pay attention to style loading and JavaScript

Bootstrap is an open source front-end framework that simplifies web development. 1. It is based on HTML, CSS, JavaScript, and provides predefined styles and components. 2. Use predefined classes and JavaScript plug-ins to implement responsive layout and interactive functions. 3. The basic usage is to introduce CSS and JavaScript files, use classes to create navigation bars, etc. 4. Advanced usage includes custom complex layouts. 5. Check the introduction of class names and files during debugging and use developer tools. 6. The optimization suggestion is to only introduce necessary files, use CDN, and use LESS or Sass when customizing.

How to create responsive web applications using Bootstrap and React? By combining Bootstrap's CSS framework and React's componentized architecture, modern, flexible and easy to maintain can be created. The specific steps include: 1) Importing the CSS file of Bootstrap and using its class to style React components; 2) Using React's componentization to manage state and logic; 3) Loading Bootstrap styles as needed to optimize performance; 4) Creating a dynamic interface using React's Hooks and Bootstrap's JavaScript components.

Bootstrap is an open source front-end framework that helps developers quickly build responsive websites. 1) It provides predefined styles and components such as grid systems and navigation bars. 2) Implement style and dynamic interaction through CSS and JavaScript files. 3) The basic usage is to introduce files and build pages with class names. 4) Advanced usage includes custom styles through Sass. 5) Frequently asked questions include style conflicts and JavaScript component issues, which can be solved through developer tools and modular management. 6) Performance optimization is recommended to selectively introduce modules and rationally use grid systems.

React and Bootstrap are ideal combinations. 1) Use Bootstrap's CSS classes and JavaScript components, 2) integrate through React-Bootstrap or reactstrap, 3) load and optimize rendering performance on demand, and build an efficient and beautiful user interface.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

WebStorm Mac version
Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version
Recommended: Win version, supports code prompts!

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.
