Home Web Front-end Bootstrap Tutorial A brief analysis of the automatic column generation function of the Table component in Bootstrap Blazor

A brief analysis of the automatic column generation function of the Table component in Bootstrap Blazor

Feb 28, 2022 am 11:01 AM
table component

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!

A brief analysis of the automatic column generation function of the Table component in Bootstrap Blazor

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

1

2

3

4

5

6

<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">

Copy after login

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

1

2

3

4

5

<Table TItem="BindItem" IsStriped="true" IsBordered="true" IsMultipleSelect="true"

            ShowToolbar="true" ShowExtendButtons="true" AutoGenerateColumns="true"

            OnQueryAsync="@OnEditQueryAsync" OnResetSearchAsync="@OnResetSearchAsync"

            OnSaveAsync="@OnSaveAsync" OnDeleteAsync="@OnDeleteAsync">

</Table>

Copy after login

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:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

[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; }

}

Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Do I need to use flexbox in the center of the Bootstrap picture? Do I need to use flexbox in the center of the Bootstrap picture? Apr 07, 2025 am 09:06 AM

There are many ways to center Bootstrap pictures, and you don’t have to use Flexbox. If you only need to center horizontally, the text-center class is enough; if you need to center vertically or multiple elements, Flexbox or Grid is more suitable. Flexbox is less compatible and may increase complexity, while Grid is more powerful and has a higher learning cost. When choosing a method, you should weigh the pros and cons and choose the most suitable method according to your needs and preferences.

How to get the bootstrap search bar How to get the bootstrap search bar Apr 07, 2025 pm 03:33 PM

How to use Bootstrap to get the value of the search bar: Determines the ID or name of the search bar. Use JavaScript to get DOM elements. Gets the value of the element. Perform the required actions.

How to do vertical centering of bootstrap How to do vertical centering of bootstrap Apr 07, 2025 pm 03:21 PM

Use Bootstrap to implement vertical centering: flexbox method: Use the d-flex, justify-content-center, and align-items-center classes to place elements in the flexbox container. align-items-center class method: For browsers that do not support flexbox, use the align-items-center class, provided that the parent element has a defined height.

How to write split lines on bootstrap How to write split lines on bootstrap Apr 07, 2025 pm 03:12 PM

There are two ways to create a Bootstrap split line: using the tag, which creates a horizontal split line. Use the CSS border property to create custom style split lines.

Bootstrap Accessibility: Building Inclusive and User-Friendly Websites Bootstrap Accessibility: Building Inclusive and User-Friendly Websites Apr 07, 2025 am 12:04 AM

Building an inclusive and user-friendly website with Bootstrap can be achieved through the following steps: 1. Enhance screen reader support with ARIA tags; 2. Adjust color contrast to comply with WCAG standards; 3. Ensure keyboard navigation is friendly. These measures ensure that the website is friendly and accessible to all users, including those with barriers.

How to use bootstrap button How to use bootstrap button Apr 07, 2025 pm 03:09 PM

How to use the Bootstrap button? Introduce Bootstrap CSS to create button elements and add Bootstrap button class to add button text

How to resize bootstrap How to resize bootstrap Apr 07, 2025 pm 03:18 PM

To adjust the size of elements in Bootstrap, you can use the dimension class, which includes: adjusting width: .col-, .w-, .mw-adjust height: .h-, .min-h-, .max-h-

How to set up the framework for bootstrap How to set up the framework for bootstrap Apr 07, 2025 pm 03:27 PM

To set up the Bootstrap framework, you need to follow these steps: 1. Reference the Bootstrap file via CDN; 2. Download and host the file on your own server; 3. Include the Bootstrap file in HTML; 4. Compile Sass/Less as needed; 5. Import a custom file (optional). Once setup is complete, you can use Bootstrap's grid systems, components, and styles to create responsive websites and applications.

See all articles