Tile View Kanban Board平铺视图和看板

Goto 数据网格和视图入门

平铺视图(TileView 类)将数据记录显示为平铺。此视图类型可以以任何自定义方式排列多个元素(bound 和 unbound)。用户可以按如下方式编辑瓦片:

  • 使用模态 Edit Form。
  • 利用 HTML-CSS 平铺模板并使用 标记来指定输入字段。

平铺视图支持三种平铺布局模式,如下面的图片库所示:

  • Default - 切片按多列和多行排列。已启用自动切片换行。
  • 看板 - 将切片合并为组(您需要指定组列)。不支持切片换行。
  • 列表 - 切片按列/行排列,并启用切片拉伸功能。

演示

Tile View 的主要功能如下:

  • Tiles are generated from tile templates.
    瓦片是从瓦片模板生成的。
  • Design-time tile template setup.
    设计时磁贴模板设置。
  • Dynamic tile template substitution at runtime.
    运行时的动态磁贴模板替换。
  • Tile template supports bound and unbound elements. Bound elements display data from underlying data source fields. Unbound elements show static text and images.
    瓦片模板支持绑定和未绑定元素。绑定元素显示基础数据源字段中的数据。未绑定的元素显示静态文本和图像。
  • Multiple tile element alignment options, including alignment relative to other elements, and absolute or relative element size specification.
    多个平铺元素对齐选项,包括相对于其他元素的对齐方式,以及绝对或相对元素大小规范。
  • Tile grouping by column. 按列对磁贴进行分组。
  • Support for tile checking.
    支持切片检查。
  • Data editing (using a separate Edit Form).
    数据编辑 (使用单独的 Edit Form)。
  • Tile selection. 磁贴选择。
  • Tile drag-and-drop. 磁贴拖放。
  • Tile auto-height. 平铺自动高度。

Demos 演示

  • Tile View 平铺视图
  • Tile View Kanban Board 平铺视图看板
  • Office Compact View Office 紧凑视图

Online Videos 在线视频

  • Tile View - Basics 平铺视图 - 基础知识
    此视频演示了如何将标准网格数据布局切换到平铺视图,后者将数据记录显示为平铺。您将学习图块模板配置的基础知识,例如如何添加数据绑定和未绑定元素以及将它们放置在模板中。

  • Tile View - Layout & Appearance 平铺视图 - 布局和外观
    了解如何将项目添加到磁贴、自定义排列这些项目以及设置项目外观。

  • Tile View - Service Columns & Dynamic Tile Customization 平铺视图 - 服务列和动态平铺定制
    在本视频中,您将了解如何将数据分组应用于 Tile View,如何根据字段值控制启用状态或检查图块的状态,以及如何使用专门设计的事件来自定义图块项目。

Create Tile View, Bind It to Data, and Populate Column Collection 创建平铺视图,将其绑定到数据,并填充列集合

创建 GridControl 时,它包含一个网格视图,该视图以列和行格式显示数据。要在设计时将此 View 转换为 TileView,请使用 Data Grid 的 Level Designer。
在这里插入图片描述
若要向平铺视图提供数据,请使用 GridControl.DataSource 和 GridControl.DataMember 属性将数据网格绑定到数据源。在设计时,您可以使用网格控件的智能标记。

下面的代码创建一个 TileView,将其设置为网格控件的 MainView,然后将数据源绑定到网格控件。

TileView tileView1 = new TileView();
gridControl1.MainView = tileView1;
gridControl1.DataSource = employeesBindingSource;

将数据网格绑定到数据后,平铺视图(与任何其他视图一样)会自动为所有数据源字段创建列(GridColumn 对象)。

Note 注意:
The column collection (ColumnView.Columns) is not automatically populated if a View already contains columns.
列集合 (ColumnView.Columns)不会自动填充。

您可以使用数据网格的主设计器来检查新创建的列集合的内容。单击 Run Designer 按钮,然后切换到 Columns 页面。
在这里插入图片描述
Columns Designer 页面允许您操作列集合。例如,您可以手动创建列并将其绑定到某些数据源字段(请参阅 GridColumn.FieldName)。您还可以创建未绑定列,以显示使用自定义表达式或专用事件计算的数据。

请注意,如果您现在运行应用程序,您可能会看到空磁贴(每个磁贴都是一条数据源记录)。创建的列不可见,因为它们尚未添加到切片模板中。
在这里插入图片描述

Create Tile Template 创建瓦片模板

平铺视图从模板生成平铺。模板指定图块中元素的布局及其外观设置。支持两种模板类型:

  • Regular template 常规模板

  • HTML and CSS-based template 基于 HTML 和 CSS 的模板

Regular Tile Template 常规平铺模板

在常规磁贴模板中,设计图面分为逻辑列和逻辑行,内容放置在相应的单元格中。
您可以在设计时使用数据网格的设计器自定义常规磁贴模板。
在这里插入图片描述
下面是一个示例 Tile View,其图块是根据上面的模板生成的。
在这里插入图片描述
以下动画演示了如何在数据网格的设计器中设置图块模板:

在这里插入图片描述
支持的磁贴模板自定义操作包括:

  • 将网格列从 Columns (列) 列表拖放到表单元格上。
    当您将列拖放到单元格上时,将自动创建绑定的平铺元素 (TileViewItemElement)。

  • 在单元格之间拖放创建的元素。

  • 将多个元素放置在同一个单元格中,这些元素具有不同的对齐选项以防止重叠。

  • 用鼠标指针选择单元格,然后单击 合并 按钮合并单元格。

  • 使用 Unmerge 按钮取消合并之前合并的单元格。

  • 使用鼠标指针调整单元格大小。

  • 使用鼠标指针拖动图块模板的边缘以调整其大小。

  • 使用 Designer-TileTemplatePage-AddRowsButtons 按钮和上下文菜单添加/删除列和行。
    在这里插入图片描述

  • 单击单元格以将其选中,然后在 Property Grid 中自定义单元格的大小、大小类型(绝对或相对)和填充。
    在这里插入图片描述

  • 单击放置的元素可访问该元素,并在 Property Grid 中自定义其设置。
    在这里插入图片描述

  • 在 Elements (元素) 列表中添加、删除和重新排序元素。创建元素时,它会自动添加到模板中。

  • 使用 Save As 按钮以不同的名称保存当前模板并创建多个模板。如果使用 TileView.CustomItemTemplate 事件将不同的模板动态分配给磁贴,则多个模板非常有用。

示例
以下代码设置由两行和两列组成的默认磁贴模板。第一列的单元格被合并。三个图块元素位于单元格中,以形成以下布局:
在这里插入图片描述

using DevExpress.XtraEditors;
using DevExpress.XtraEditors.TableLayout;
using DevExpress.XtraGrid.Views.Tile;// ...
public Form1() {InitializeComponent();gridControl1.DataSource = Data.GetData();InitTileTemplate();
}
private void InitTileTemplate() {// Set the tile size.tileView1.OptionsTiles.ItemSize = new System.Drawing.Size(300, 160);// Create a table layout (columns and rows) for the Tile Template.TableColumnDefinition tableColumn1 = new TableColumnDefinition();TableColumnDefinition tableColumn2 = new TableColumnDefinition();TableRowDefinition tableRow1 = new TableRowDefinition();TableRowDefinition talbeRow2 = new TableRowDefinition();tableColumn1.Length.Value = 120;tableColumn2.Length.Value = 180;tileView1.TileColumns.Add(tableColumn1);tileView1.TileColumns.Add(tableColumn2);tileView1.TileRows.Add(tableRow1);tileView1.TileRows.Add(talbeRow2);// Create a TableSpan object to merge cells.TableSpan tableSpan1 = new TableSpan();tableSpan1.RowIndex = 0;tableSpan1.ColumnIndex = 0;tableSpan1.RowSpan = 2;tileView1.TileSpans.Add(tableSpan1);// Create the Tile Template's elements.TileViewItemElement tileElementFirstName = new TileViewItemElement();TileViewItemElement tileElementCity = new TileViewItemElement();TileViewItemElement tileElementPhoto = new TileViewItemElement();tileElementFirstName.Column = tileView1.Columns["FirstName"];tileElementFirstName.ColumnIndex = 1;tileElementFirstName.ImageOptions.ImageAlignment = TileItemContentAlignment.MiddleCenter;tileElementFirstName.ImageOptions.ImageScaleMode = TileItemImageScaleMode.Squeeze;tileElementFirstName.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter;tileElementCity.Column = tileView1.Columns["City"];tileElementCity.ColumnIndex = 1;tileElementCity.ImageOptions.ImageAlignment = TileItemContentAlignment.MiddleCenter;tileElementCity.ImageOptions.ImageScaleMode = TileItemImageScaleMode.Squeeze;tileElementCity.RowIndex = 1;tileElementCity.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter;tileElementPhoto.Column = tileView1.Columns["Photo"];tileElementPhoto.ImageOptions.ImageAlignment = TileItemContentAlignment.MiddleCenter;tileElementPhoto.ImageOptions.ImageScaleMode = TileItemImageScaleMode.Squeeze;tileElementPhoto.TextAlignment = TileItemContentAlignment.MiddleCenter;tileView1.TileTemplate.Add(tileElementFirstName);tileView1.TileTemplate.Add(tileElementCity);tileView1.TileTemplate.Add(tileElementPhoto);
}public class Data {public static DataTable GetData() {DataTable dt = new DataTable();dt.Columns.Add("FirstName", typeof(string));dt.Columns.Add("City", typeof(string));dt.Columns.Add("Photo", typeof(Image));dt.Rows.Add("John", "NY", Image.FromFile(@"d://media/john-photo.jpg"));return dt;}
}

HTML and CSS-based Tile Template 基于 HTML 和 CSS 的磁贴模板

平铺视图允许您使用 HTML 和 CSS 标记来设置平铺模板。
单击“属性”网格中 TileView.TileHtmlTemplate 属性的省略号按钮以打开 Html 模板编辑器。指定 HTML 代码和 CSS 样式,然后保存更改。
在这里插入图片描述

HTML Tags HTML 标签

CSS Styles CSS 样式

平铺视图支持的 HTML-CSS 模板的主要功能包括:

Data binding 数据绑定

HTML 标记中的 ${FieldName} 语法插入控件数据源中的字段值。请参见 数据绑定。

Images 图像

HTML 标记允许您添加图像。

Buttons 按钮

HTML-CSS 标记允许您添加元素以模拟按钮。

Inplace Editors 就地编辑器

%3Cinput> 标记允许您将就地编辑器(存储库项目)嵌入到拼贴中,以显示和编辑数据源字段。

如果用户单击就地编辑器,则会在运行时激活这些编辑器,前提是 TileViewOptionsBehavior.EditingMode 选项设置为 HtmlTemplate(默认值)。如果将此属性设置为任何其他值,则分配的就地编辑器仅用于显示数据源字段,而不用于编辑数据源字段。
在设计时,您可以使用 Data Grid 设计器中的“In-place Editor Repository”页面来创建和自定义就地编辑器:

在这里插入图片描述

Mouse actions 鼠标操作

  • 平铺视图包含用于响应 HTML 元素上的鼠标操作的事件:TileView.HtmlElementMouseClick、TileView.HtmlElementMouseDown、TileView.HtmlElementMouseOut、TileView.HtmlElementMouseOver 和 TileView.HtmlElementMouseUp。
  • 还可以订阅 HTML 标记中元素的鼠标事件,以及在使用 Fluent API 时订阅的鼠标事件。

有关详细信息,请参阅以下主题:基于 HTML-CSS 的桌面 UI

Tile Element Contents and Alignment 平铺元素内容和对齐方式

在常规平铺模板中,绑定的平铺元素从链接的列获取显示值。列的数据类型是自动确定的,因此 tile 元素会自动选择要显示的信息:text 或 image。
在这里插入图片描述

如果需要在平铺元素旁边显示其他标签或图像,请添加新的未绑定平铺元素。
在这里插入图片描述
使用 TileItemElement.Text 和 TileItemElement.ImageOptions 属性为未绑定的磁贴元素指定数据。
在这里插入图片描述

以下代码创建一个显示 “ID” 字符串的未绑定元素:

TileViewItemElement tileElementID = new TileViewItemElement();
tileElementID.ColumnIndex = 1;
tileElementID.RowIndex = 0;
tileElementID.Text = "ID";
tileElementID.TextAlignment = TileItemContentAlignment.MiddleCenter;
tileView1.TileTemplate.Add(tileElementID);

若要指定元素的文本数据相对于图像的对齐方式,请参阅 TileItemElement.ImageOptions.ImageToTextAlignment。

平铺元素最初在单元格内垂直和水平居中。有两个选项可用于对齐元素:

  • 使用 TileItemElement.TextAlignment(用于文本数据)和 TileItemElement.ImageAlignment(用于图形)属性将单元格中的元素对齐。
  • 使用 TileItemElement.AnchorElement 和 TileItemElement.AnchorAlignment 属性将一个元素相对于另一个元素对齐。

Tile Size and Layout 磁贴大小和布局

平铺排列取决于当前选定的布局模式和方向。

Layout Mode 布局模式

TileView.OptionsTiles.LayoutMode 属性指定图块在 View 中的排列方式,以及最终用户如何滚动浏览图块。

可以使用以下布局模式:

  • Default - 切片按多列和多行排列。已启用自动切片换行。
  • 看板 - 此模式专为按列对磁贴进行分组而设计,并独立于其他组访问每个组的内容(使用独立的组滚动)。磁贴换行已禁用。有关详细信息,请参阅 Kanban Board。
  • 列表 - 切片按列/行排列,并启用切片拉伸功能。

在设计时,您可以从 Data Grid Designer 的 Layout 页中选择布局模式并自定义主布局设置。
在这里插入图片描述
以下代码将 Tile View 切换到 Kanban 模式,并按 Country 列对磁贴进行分组:

tileView1.OptionsTiles.LayoutMode = TileViewLayoutMode.Kanban;
tileView1.ColumnSet.GroupColumn = tileView1.Columns["Country"];

Layout, Orientation, and Size Settings 布局、方向和大小设置

您可以从 TileView.OptionsTiles 对象访问这些设置。主要设置包括:

  • TileView.OptionsTiles.Orientation - 获取或设置磁贴的水平或垂直排列方式。
  • TileView.OptionsTiles.RowCount - 指定列表布局模式下水平方向的行数。在 Default layout mode (默认布局模式) 中,此属性指定最大行数。
  • TileView.OptionsTiles.ColumnCount - 指定列表布局模式下垂直方向的列数。在 Default layout mode 中,此属性指定最大列数。
  • TileView.OptionsTiles.ItemSize - 获取或设置此 TileView 中图块的大小。
  • TileView.OptionsTiles.StretchItems — 获取或设置是否拉伸图块以适应 View 的宽度/高度(取决于 Orientation 设置)。在 List 布局模式下,将忽略该属性。
  • TileView.OptionsTiles.Padding - 获取或设置当前 TileView 填充。
  • TileView.OptionsTiles.IndentBetweenGroups - 获取或设置相邻切片组之间的距离。
  • TileView.OptionsTiles.IndentBetweenItems - 获取或设置此 TileView 中相邻图块之间的距离。
  • TileView.OptionsTiles.GroupTextOffset - 获取或设置组标题的水平偏移量(以像素为单位)。
  • TileView.OptionsTiles.GroupTextToItemsIndent - 获取或设置组标题和组项目之间的缩进(以像素为单位)。
  • TileView.OptionsTiles.ItemPadding - 获取或设置 TileView 中所有图块的填充。

Tile Auto-Height 平铺自动高度

在创建平铺模板时,您可以为特定模板行启用自动高度模式。这允许图块根据其内容具有不同的高度。

在这里插入图片描述

Data Grouping 数据分组

Tile View 可以按任何一列对其磁贴进行分组(磁贴不能按多个列分组)。具有相同组列值的所有磁贴将合并到同一个磁贴组(一个 TileViewGroup 对象)中。下图显示了一个示例 Tile View,其数据按 Country 列分组:
在这里插入图片描述
将按列分组分配给 TileView.ColumnSet.GroupColumn 属性以启用数据分组。
在这里插入图片描述

tileView1.ColumnSet.GroupColumn = tileView1.Columns["Country"];

Related API 相关 API

  • TileView.Appearance.Group
  • TileViewItemOptions.GroupTextPadding
  • TileViewItemOptions.IndentBetweenGroups
  • TileViewItemOptions.ShowGroupText

Tile Check State 平铺检查状态

任何 Boolean 列都可以控制图块的选中状态。选中的图块在其右上角显示一个复选标记,如下图所示。
在这里插入图片描述
设置 TileView.ColumnSet.CheckedColumn 属性以指定确定磁贴检查状态的列。

tileView1.ColumnSet.CheckedColumn = tileView1.Columns["IsSelected"];

如果指定了 check 列,用户可以右键单击磁贴以切换磁贴检查状态。此操作将触发 TileView.ItemRightClick 和 TileView.ItemCheckedChanged 事件。

Tile Enabled State Tile Enabled 状态

与 checked 列类似,您可以指定一个 Boolean 列来控制每个磁贴的启用状态。将此列分配给 TileView.ColumnSet.EnabledColumn 属性。

tileView1.ColumnSet.EnabledColumn = tileView1.Columns["IsEnabled"];

下图说明了已启用和已禁用磁贴之间的视觉差异。用户无法与已禁用的磁贴交互(例如,他们无法右键单击磁贴以更改其检查状态)。

在这里插入图片描述

Tile Background Image 平铺背景图像

您可以将特定网格列中的图像显示为平铺背景图像。为此,请将此列分配给 TileView.ColumnSet.BackgroundImageColumn 属性。

tileView1.ColumnSet.BackgroundImageColumn = tileView1.Columns["BackImage"];

要自定义对齐背景图像并修改其缩放模式,请分别使用 TileViewItemOptions.ItemBackgroundImageAlignment 和 TileViewItemOptions.ItemBackgroundImageScaleMode 属性。

Customize Individual Tiles 自定义单个磁贴

所有磁贴最初都是从 TileView.TileTemplate 属性指定的默认模板生成的。您可以处理 TileView.CustomItemTemplate 事件,以根据自定义逻辑将单个或所有磁贴的默认模板动态替换为另一个模板。

以下代码将 CustomTemplate 模板应用于 ‘Country’ 字段中包含“UK”的磁贴:

private void tileView1_CustomItemTemplate(object sender, TileViewCustomItemTemplateEventArgs e) {TileView tileView = sender as TileView;string country = tileView1.GetRowCellDisplayText(e.RowHandle, "Country");if (country == "UK")e.Template = e.Templates["CustomTemplate"];
}

另一个可帮助您自定义磁贴中各个元素的内容和外观设置的事件是 TileView.ItemCustomize。

下面的代码处理此事件以更改图块元素的内容和背景色。

private void tileView1_ItemCustomize(object sender, DevExpress.XtraGrid.Views.Tile.TileViewItemCustomizeEventArgs e) {e.Item.Elements[6].Text = String.Format("${0}M", ((Decimal)(Int32)tileView1.GetRowCellValue(e.RowHandle, colPrice) / 1000000).ToString("0.0"));if ((bool)tileView1.GetRowCellValue(e.RowHandle, colSold) == true) {e.Item.Elements[1].Image = global::TileViewHomes.Properties.Resources.gray_element;e.Item.Elements[6].Text = "SOLD";}
}

下图说明了结果:
在这里插入图片描述

Tile Selection 磁贴选择

使用 TileView.OptionsSelection.MultiSelect 属性启用多个磁贴选择。您还可以启用 TileView.OptionsSelection.AllowMarqueeSelection 属性,以允许用户通过在按下鼠标左键的情况下将鼠标指针拖动到图块上来选择图块。

在这里插入图片描述

tileView1.OptionsSelection.MultiSelect = true;
tileView1.OptionsSelection.AllowMarqueeSelection = true;

Related API 相关 API

  • TileView.Appearance.ItemSelected - 指定用于绘制所选图块的外观设置。
  • ColumnView.GetSelectedRows() - 返回当前所选图块的控点。
  • ColumnView.SelectedRowsCount - 返回所选图块的数量。
  • ColumnView.SelectRow(Int32) — 允许您选择特定磁贴。
  • ColumnView.SelectAll() - 选择所有图块。
  • ColumnView.SelectRange(Int32, Int32) - 选择连续的图块范围。

Context Buttons 上下文按钮

Tile View 可以显示其磁贴的上下文按钮。
在这里插入图片描述
TileView.ContextButtons 属性允许您将一组上下文按钮应用于每个磁贴。如果需要,您可以处理专用事件,以动态修改某些磁贴的上下文按钮的可用性。请参阅以下帮助主题以了解更多信息:TileView.ContextButtons。

Appearance and Conditional Formats 外观和条件格式

磁贴及其元素的外观设置可以在三个级别进行调整:

  • 平铺视图外观设置 (TileView.Appearance) - 所有平铺和平铺元素的默认外观设置。
  • 切片外观设置 (TileItem.Appearance) - 这些设置将覆盖默认外观设置。处理 TileView.ItemCustomize 事件以自定义图块外观设置。
  • 平铺元素外观设置 (TileItemElement.Appearance) - 这些设置将覆盖平铺视图和平铺的外观设置。处理 TileView.ItemCustomize 事件以自定义代码中的图块元素外观设置。在设计时,您可以在 Data Grid Designer 的 Tile Template 页面中自定义这些设置(请参见下图)。

在这里插入图片描述
下图演示了一个平铺,其中所有平铺元素(除一个外)都涂有蓝色,该颜色设置为默认值。MPG Highway 元素将覆盖此设置以显示红色前景色。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148384.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL(七)——事务

文章目录 事务事务的概念事务的ACID特性事务的语法查看存储引擎查看自动提交参数和设置手动事务操作保存点 隔离级别与并发事务问题隔离级别并发事务问题 事务 事务的概念 事务(Transaction)是数据库管理系统中执行过程中的一个逻辑单位,由…

高效打造知识图谱,使用LlamaIndex Relik实现实体关联和关系抽取

大家好,文本信息转化为知识图谱的技术,自问世以来一直是研究界的宠儿。大型语言模型(LLMs)的兴起让这个领域受到更多关注,但LLMs的成本之高令人却步。然而通过对小型模型微调优化,可以找到一种更经济高效的…

Linux中的环境变量及main函数参数详解

目录 Linux中的环境变量 常见环境变量 PATH : 和环境变量相关的命令 通过系统调用获取或设置环境变量 getenv putenv 新增环境变量 进程切换: main函数参数 命令行参数 Linux中的环境变量 环境变量(environment variables)一般是指在操作系统中用来指定操…

面试速通宝典——1

1. 内存有哪几种类型? ‌‌‌‌  内存分为五个区,堆(malloc)、栈(如局部变量、函数参数)、程序代码区(存放二进制代码)、全局/静态存储区(全局变量、static变量&#…

GNU链接器(LD):什么是符号?符号定义及实例解析

0 参考资料 GNU-LD-v2.30-中文手册.pdf GNU linker.pdf1 前言 一个完整的编译工具链应该包含以下4个部分: (1)编译器 (2)汇编器 (3)链接器 (4)lib库 在GNU工具链中&…

手动实现逻辑回归算法(LogisticRegression)

目录 1. 前言 2. 示例 3. 原理介绍 4. 实验代码 1. 前言 逻辑回归是一种解决分类问题的算法 值得注意的是,在机器学习中,回归指的是连续型数据的预测问题。而这里的逻辑回归特指分类任务,比如判断一个人是否患病、是否健康等等 逻辑回归…

nodejs基于vue+express度假村旅游管理系统设计与实现7t82p

目录 功能介绍数据库设计具体实现截图技术栈技术论证解决的思路论文目录核心代码风格详细视频演示源码获取 功能介绍 实现了一个完整的农家乐系统,其中主要有用户表模块、关于我们模块、收藏表模块、公告信息模块、酒店预订模块、酒店信息模块、景区信息模块、景区…

ARM(Day 2)

一、作业 (1)汇编代码 .text.globl _start_start:mov r0, #0x5mov r1, #0x10比较r0,r1 是否相等 相等执行stop 不相等执行下一步比较( r0 > r1 ?)cmp r0, r1 比较实际在做减法 (YES NO )subhi r0, r0, r1 r0 > r1 …

VLDB 2024 圆桌会议回顾:展望物联网与 AI 时代的时序数据库

回顾我们在 VLDB 2024 8 月 26 日至 8 月 30 日,数据库领域的顶级国际会议 VLDB 2024 在广州举行。IoTDB 最新研发成果的三篇论文被本次大会录用(详见:IoTDB 在顶级会议 VLDB 2024:四篇最新论文入选,特邀做 TPC 报告与…

MySQL篇(存储过程 触发器 存储函数)(持续更新迭代)

目录 一、存储过程 1. 简介 2. 特点 3. 语法 3.1. 创建 3.2. 调用 3.3. 查看 3.4. 删除 4. 示例 二、变量 1. 简介 2. 系统变量 2.1. 查看系统变量 2.2. 设置系统变量 2.3. 演示示例 3. 用户定义变量 3.1. 赋值 方式一 方式二 3.2. 使用 3.3. 演示示例 4.…

计算机组成原理——存储系统

计算机组成原理——存储系统 存储器层次结构 存储器层次结构如下: 寄存器(CPU)Cache(高速缓冲存储器)主存磁盘磁带、光盘等 按照上述层次结构,自下而上速度依次增快、容量相对依次渐小、造价越来越高昂…

vitis2022.2生成动态设备树

打开vitis 点击xilinx 点击generate Device Tree 导入硬件描述文件,以及指定输出目录 再点击Modify Device Tree Settings 修改device_tree下的dt_overlay 修改后点击ok 最后点击generate即可

每日学习一个数据结构-Trie树(字典树)

文章目录 定义节点结构根节点插入操作查找操作删除操作特点应用示例 “Trie”树,又称为前缀树或字典树,是一种专门用于存储字符串的数据结构。它在许多应用程序中都非常有用,特别是在那些需要高效查找、插入和删除字符串的应用场景中。下面是…

网络通信——路由器、交换机、集线器(HUB)

注意:传输层,应用层没有网路设备 一.路由器(网络层设备) 1.分割广播域 2.一个接口就是一个广播域 3.一般接口位4,8,12。 4.数据转发 (由路由表转发数据) 5.根据路由表来进行路径选…

MySQL连接查询解析与性能优化成本

文章目录 一、连接查询1.连接查询基础1. INNER JOIN内连接2. LEFT JOIN (或 LEFT OUTER JOIN)左外连接3. RIGHT JOIN (或 RIGHT OUTER JOIN)右外连接4. FULL OUTER JOIN 2.连接查询的两种过滤条件3.连接的原理 二、性能优化成本1.基于成本的优化2.调节成本常数(1)mysql.server_…

【最基础最直观的排序 —— 冒泡排序算法】

最基础最直观的排序 —— 冒泡排序算法 冒泡排序(Bubble Sort)是一种计算机科学领域的较简单的排序算法,属于交换排序。其基本思想是在待排序的一组数中,将相邻的两个数进行比较,若前面的数比后面的数大就交换两数&am…

【C++】继承(上)

个人主页~ 继承 一、继承的概念以及定义1、继承的概念2、继承的定义(1)定义格式(2)继承基类成员访问方式的变化 二、基类和派生类对象赋值转换三、继承中的作用域 一、继承的概念以及定义 1、继承的概念 继承机制是面向对象程序…

Java集合(Map篇)

一.Map a.使用Map i.键值(key-value)映射表的数据结构,能高效通过key快速查找value(元素)。 ii.Map是一个接口,最常用的实现类是HashMap。 iii.重复放入k-v不会有问题,但是一个…

周邦彦,北宋文坛的独特乐章

周邦彦,字美成,号清真居士,生于北宋仁宗嘉祐元年(公元1056年),卒于北宋徽宗宣和三年(公元1121年),享年65岁。他是宋代“婉约派”词人的代表之一,与柳永、晏几…

java日志框架之Log4j

文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders(输出控制器)3、Layout(日志格式化器) 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自…