DevExpress中TileView的使用

这篇具有很好参考价值的文章主要介绍了DevExpress中TileView的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 1、前期准备

VS2019、DevExpress19.2、MySql5.7、FreeSql3.2.808、.Net Farmework 4.8

2、创建本次示例中所需数据库及表

我这里建立的数据库为loldb,其下会使用到hero和country两个表

DevExpress中TileView的使用

DevExpress中TileView的使用

3、在VS2019进行代码实现

1、首先在vs2019中建立一个WinForm窗体,并取名TileViewDemo

DevExpress中TileView的使用

DevExpress中TileView的使用

 文章来源地址https://www.toymoban.com/news/detail-777109.html

2、窗体创建完成后引入我们本次会使用到的dll文件

Dev类目dll文件引用时需要我们在系统中确保已经安装了DevExpress19.2

FreeSql类目dll文件可以通过NuGet手动下载对应版本

DevExpress中TileView的使用

 

3、为了美观,可设置为DevExpress窗体

DevExpress中TileView的使用

4、回到设计界面,在工具箱中找到对应控件

找到GridControl控件拖拽至主界面中,并将该控件Dock设置为Fill。

DevExpress中TileView的使用

转换view为TileView

DevExpress中TileView的使用

DevExpress中TileView的使用

5、点击Run Designer进行内容设计

 添加column列表,并对一些特殊column进行设置

DevExpress中TileView的使用

DevExpress中TileView的使用

Views设置

DevExpress中TileView的使用

Layout设置

DevExpress中TileView的使用

 Tile Template设置

DevExpress中TileView的使用

 

 

6、创建数据库连接类

DevExpress中TileView的使用

 

7、创建Domain

 

DevExpress中TileView的使用

 hero表

using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using FreeSql.DataAnnotations;

namespace Domain {

	[JsonObject(MemberSerialization.OptIn)]
	public partial class hero {

		[JsonProperty, Column(IsPrimary = true, IsIdentity = true)]
		public int N_Id { get; set; }

		[JsonProperty]
		public int CountryId { get => _CountryId; set {
			if (_CountryId == value) return;
			_CountryId = value;
			country = null;
		} }
		private int _CountryId;

		[JsonProperty]
		public string ImgSrc { get; set; }

		[JsonProperty]
		public string Name { get; set; }

		[JsonProperty]
		public string NickName { get; set; }

		[JsonProperty]
		public Sex Sex { get; set; }


		#region 外键 => 导航属性,ManyToOne/OneToOne

		[Navigate("CountryId")]
		public virtual country country { get; set; }

		#endregion

		#region 外键 => 导航属性,ManyToMany

		#endregion
	}

	public enum Sex {
		女,
		男
	}
}

 

8、关键代码

 

using Domain;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TileViewDemo
{
    public partial class MainForm : DevExpress.XtraEditors.XtraForm
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            Global.Instance.ConnnectionServer(out string exMsg);
            if (!string.IsNullOrEmpty(exMsg))
            {
                MessageBox.Show("数据库连接失败:" + exMsg);
                return;
            }
            List<hero> heroes = Global.Instance.freeSql.Select<hero>().Include(a => a.country).ToList();
            List<herodDto> heroDtos = new List<herodDto>();
            foreach (var item in heroes)
            {
                herodDto herodDto = new herodDto()
                {
                    Id = item.N_Id,
                    Photo = Image.FromFile(item.ImgSrc),
                    Name = item.Name,
                    NickName = item.NickName,
                    Sex = item.Sex,
                    CountryName = item.country.CountryName
                };
                heroDtos.Add(herodDto);
            }
            gc_DataList.DataSource = heroDtos;
        }

        /// <summary>
        /// 定制每个卡片
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tv_DataList_ItemCustomize(object sender, DevExpress.XtraGrid.Views.Tile.TileViewItemCustomizeEventArgs e)
        {
            if (e.Item == null || e.Item.Elements.Count == 0)
                return;
            int sex = (int)tv_DataList.GetRowCellValue(e.RowHandle, tv_DataList.Columns["Sex"]);

            Color female = Color.LightBlue;
            Color male = Color.DarkRed;

            e.Item.Elements[5].Text = String.Empty;
            if (sex == 1)
                e.Item.Elements[5].Appearance.Normal.BackColor = female;
            else
                e.Item.Elements[5].Appearance.Normal.BackColor = male;
        }

        /// <summary>
        /// 每个卡片的点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tv_DataList_ItemClick(object sender, DevExpress.XtraGrid.Views.Tile.TileViewItemClickEventArgs e)
        {
            herodDto herodDto = tv_DataList.GetRow(e.Item.RowHandle) as herodDto;
            herodDto.IsSelect = !herodDto.IsSelect;
            tv_DataList.RefreshRow(e.Item.RowHandle);
        }
    }

    public class herodDto
    {
        public int Id { get; set; }
        public Image Photo { get; set; }
        public string Name { get; set; }
        public string NickName { get; set; }
        public Sex Sex { get; set; }
        public string CountryName { get; set; }
        public bool IsSelect { get; set; } = true;
    }
}

 

9、实际显示

DevExpress中TileView的使用

 

到了这里,关于DevExpress中TileView的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MetaGPT前期准备与快速上手

    大家好,MetaGPT 是基于大型语言模型(LLMs)的多智能体协作框架,GitHub star数量已经达到31.3k+。 接下来我们聊一下快速上手 一、环境搭建 python 环境最好是 3.9 1.python 环境 利用 anaconda 创建 python3.9 的虚拟环境 2. MetaGpt 下载 也可以采取以下方式 二、MetaGPT配置 1.调用 ChatGPT API

    2024年01月22日
    浏览(42)
  • IOS逆向前期环境准备笔记

    ios系统由于效验问题,只能升级不能降级,需要特别注意, 刷系统可以在爱思上搞定; 越狱推荐使用u盘镜像及本地启动盘制作: 注意,要进去bios,关闭安全启动,不然直接失败: Checkra1n镜像:https://share.weiyun.com/kr63NENg 其他工具:https://blog.6ziz.com/jailbreakdownload 参考教程:

    2024年02月11日
    浏览(46)
  • 【UE Sequencer系列】01-前期准备

    新建一个工程 在虚幻商城中将我们需要的三种资产导入到新建的工程中 打开工程可以看到导入的资产 新建两个文件夹,一个用来存放音频,一个用来存放所有的Sequencer 导入音频(只支持wav格式) 选中声波,创建一个sound cue 打开“Forge”关卡 改变视口布局 第一个视口选择“

    2023年04月09日
    浏览(44)
  • 番外3:下载+安装VMware(前期准备)

    step1: 查看自己笔记本电脑配置; step2: 下载并安装VMware (下载地址www.kkx.net/soft/16841.html)这里选择本地普通下载; step3: 安装VMware过程中需要填写密钥(本人用的最后一个) ; #UU54R-FVD91-488PP-7NNGC-ZFAX6 #YC74H-FGF92-081VZ-R5QNG-P6RY4 YC34H-6WWDK-085MQ-JYPNX-NZRA2

    2024年02月07日
    浏览(38)
  • 程序员自由创业周记#2:前期准备

    感恩 上次公开了创业的决定后,得到了很多亲朋好友和陌生朋友的鼓励或支持,以不同的形式,感动之情溢于言表。这些都会记在心里,大恩不言谢~ 创业方向 笔者是一名资质平平的iOS开发程序猿,创业项目也就是开发App卖,类型的话主要以工具类为主,优先会解决一些我的

    2024年02月10日
    浏览(48)
  • 数据清洗:数据挖掘的前期准备工作

    ⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者: 秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们 点赞👍🏻、收藏

    2024年02月07日
    浏览(52)
  • Hyperledger Fabric 应用实战(1)--前期准备

    1.1应用说明 本应用示例基于Hyperledger fabric2.4搭建一个自由房屋租赁区块链系统freerent, 用户可以自由在链上开展合同签订、执行和验真。freerent应用背景相对简单,当前应用搭建示例展示 fabric初级功能。后期将会不断探索 fabric应功能特性,也希望可以结合IPFS实现合同存储,

    2024年01月25日
    浏览(40)
  • DnCNN-matlab版本代码实战前期准备

    一、DnCNN-matlab版本代码实战前期准备 (1)DnCNN-matlab版本代码下载   https://download.csdn.net/download/qq_41104871/87457430 (2)DnCNN的灰度图像数据集下载   https://blog.csdn.net/qq_41104871/article/details/129931884 (3)DnCNN的彩色图像数据集下载   https://blog.csdn.net/qq_41104871/article/details/129932352

    2024年02月11日
    浏览(37)
  • Flask后端开发(一)-基础知识和前期准备

    目录 1.背景介绍 1.1. 项目背景 1.2. 项目难点 1.3. 项目环境 2. flask后端开发实现的功能 3. flask部署和前后端对接 3.1. flask运行配置和服务器部署 3.2. flask前后端传参 4. 后端测试工具 4.1. 工具介绍 4.2. 工具使用 后记 就是前几个月临时接手了一个后端项目,使用python flask框架进行后

    2024年02月08日
    浏览(51)
  • 从零开始画自己的DAG作业依赖图(一)--前期准备

    背景: 由于业务场景需要展示作业之间的依赖关系,由于一些开源的插件和当前的业务逻辑有一些冲突,个人打算尝试从零开始,一点点实现自己的DAG图。同时用博客记录自己实现过程和总结,不正确的地方,欢迎指正提升。 场景分析: 数据开发中常常有作业之间的依赖,

    2024年02月05日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包