界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)

这篇具有很好参考价值的文章主要介绍了界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件,所有的UI for WinForms控件都具有完整的主题支持,可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。

Telerik UI for WinForms组件为可视化任何类型的数据提供了非常丰富的UI控件,其中RadGridView是最常用的数据组件。本文主要深入研究数据绑定,它是用记录填充网格的主要方法,数据记录通常存储在服务器上或文件中。

本文将重点分析可用于数据传输的不同文件或文本格式,从绑定到DataTable的一般情况开始。

获取Telerik UI for ASP. NET MVC R1 2023下载(Q技术交流:726377843)

绑定到DataTable

将一些数据绑定到RadGridView的最简单方法是创建一个数据表,用相应的类型定义一些列,并添加一些带有单元格内容的行:

private void BindToDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("CreatedOn", typeof(DateTime));
for (int i = 0; i < 10; i++)
{
dt.Rows.Add(i, "Item"+i, DateTime.Now.AddDays(i));
}

this.radGridView1.DataSource = dt;
}
界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)

绑定到JSON

RadGridView不支持直接绑定到JSON,但是可以将JSON内容转换为数据表,然后将解析后的数据表设置为RadGridView控件的数据源。

注意:有必要添加对Json. NET的引用:

界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)
public partial class RadForm1 : Telerik.WinControls.UI.RadForm
{
public RadForm1()
{
InitializeComponent();
BindToJson();
this.radGridView1.BestFitColumns();
}
private void BindToJson()
{
string json = @"[
{""id"":""10"",""name"":""User"",""add"":false,""edit"":true,""authorize"":true,""view"":true},
{ ""id"":""11"",""name"":""Group"",""add"":true,""edit"":false,""authorize"":false,""view"":true},
{ ""id"":""12"",""name"":""Permission"",""add"":true,""edit"":true,""authorize"":true,""view"":true}
]";
DataTable table = Newtonsoft.Json.JsonConvert.DeserializeObject<DataTable>(json);
this.radGridView1.DataSource = table;
}
}
界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)

绑定到CSV

逗号分隔值(CSV)文件是存储以表格结构格式保存的大量数据内容的一种简单方法,它也可以很容易地解析为数据表,从而再次用作网格的DataSource集合。

界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)
public RadForm1()
{
InitializeComponent();
BindToCsv();
}

private void BindToCsv()
{
bool isFirstRowHeader = true;
string path = @"..\..\sampleData.csv";
string header = isFirstRowHeader ? "Yes" : "No";
string pathOnly = System.IO.Path.GetDirectoryName(path);
string fileName = System.IO.Path.GetFileName(path);
string sql = @"SELECT * FROM [" + fileName + "]";

using (System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection(
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathOnly +
";Extended Properties=\"Text;HDR=" + header + "\""))
using (System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(sql, connection))
using (System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(command))
{
DataTable dataTable = new DataTable();
dataTable.Locale = CultureInfo.CurrentCulture;
adapter.Fill(dataTable);
this.radGridView1.DataSource = dataTable;
}
}

RadGridView能够显示分层数据,其中主要场景可以列出如下:

  • 自引用层次结构
  • 对象-关系层次结构(主细节)
  • 按需加载

绑定到自引用层次结构

数据内容由一个平面集合表示,其中的层次关系由ID和父级的ID字段定义。因此每个记录都知道其父记录的ID,可以构建嵌套结构。

private void BindSelfReferenceHierarchy()
{
DataTable selfRefTable = new DataTable();
selfRefTable.Columns.Add("Id", typeof(int));
selfRefTable.Columns.Add("ParentId", typeof(int));
selfRefTable.Columns.Add("Name", typeof(string));
selfRefTable.Rows.Add(1, 0, "My Computer");
selfRefTable.Rows.Add(2, 1, @"C:\");
selfRefTable.Rows.Add(3, 2, "Program Files");
selfRefTable.Rows.Add(4, 3, "Microsoft");
selfRefTable.Rows.Add(5, 3, "Telerik");
selfRefTable.Rows.Add(6, 2, "WINDOWS");
selfRefTable.Rows.Add(7, 1, @"D:\");

this.radGridView1.Relations.AddSelfReference(this.radGridView1.MasterTemplate, "Id", "ParentId");
this.radGridView1.DataSource = selfRefTable;
}

界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)

绑定到对象关系数据

数据内容由两个(或根据层次结构深度最多N个)平面集合表示,其中每个层次结构级别需要一个单独的数据集合和一个网格模板来存储数据。

不同的网格级别用一个特定的关系连接,称为GridViewRelation,分别指向父级和子级。它链接父级的一个字段和子级的一个字段,这与SQL表中的外键非常接近。

下面的代码片段演示了如何构建Categories-Products对象关系层次结构:

private void BindToObjectRelational()
{
Random rand = new Random();
DataTable categories = new DataTable();
categories.Columns.Add("CategoryID", typeof(int));
categories.Columns.Add("Title", typeof(string));
categories.Columns.Add("CreatedOn", typeof(DateTime));
for (int i = 0; i < 5; i++)
{
categories.Rows.Add(i, "Master" + i, DateTime.Now.AddDays(i));
}

DataTable productsTable = new DataTable();
productsTable.Columns.Add("ProductID", typeof(int));
productsTable.Columns.Add("CategoryID", typeof(int));
productsTable.Columns.Add("Name", typeof(string));
productsTable.Columns.Add("UnitPrice", typeof(decimal));
for (int i = 0; i < 30; i++)
{
productsTable.Rows.Add(i, rand.Next(0, 5), "Product" + i, 1.25 * i);
}

this.radGridView1.MasterTemplate.DataSource = categories;
this.radGridView1.MasterTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

GridViewTemplate productsLevel = new GridViewTemplate();
productsLevel.DataSource = productsTable;
productsLevel.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
this.radGridView1.MasterTemplate.Templates.Add(productsLevel);

GridViewRelation relation = new GridViewRelation(radGridView1.MasterTemplate);
relation.ChildTemplate = productsLevel;
relation.RelationName = "CategoriesProducts";
relation.ParentColumnNames.Add("CategoryID");
relation.ChildColumnNames.Add("CategoryID");
this.radGridView1.Relations.Add(relation);

}
界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)

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

到了这里,关于界面控件Telerik UI for WinForms使用指南 - 数据绑定 & 填充(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 如何使用界面控件DevExpress WinForms自带的UI模板?其实很简单

    DevExpress WinForm拥有180+组件和UI库,能为 Windows Forms 平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任! DevExpress WinForm v22.1.5版本中发布了新的UI模板(

    2024年02月05日
    浏览(47)
  • 界面控件DevExtreme中文使用指南——如何构建 & 应用模板

    DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。 模板允许您自定义DevExtreme UI组件,本文概述Dev

    2024年02月08日
    浏览(28)
  • 界面控件DevExpress WinForms全新的UI模板,解决各种业务线需求!

    去年秋天DevExpress官方发布了一个新的 WinForms UI模板预览版(第一个EAP只提供给DevExpress宇宙版激活的用户) ,这些精炼的、随时可用的“模板”旨在启动表单设计/开发过程。有了这个模板,用户可以创建/交付现成的UI解决方案,并及时解决各种业务线(LOB)需求(并且在使用

    2024年02月11日
    浏览(36)
  • 「实用分享」用界面组件Telerik UI for Blazor增强你的财务图表!

    Telerik UI for Blazor拥有110+个原生的、易于定制的Blazor UI组件和高性能网格组件,能节约一半的时间开发全新的Blazor应用程序并使传统web项目现代化,其中囊括了设计和生成工具等。Telerik UI for Blazor控件提供的控件,可轻松满足应用程序对数据处理、性能、用户体验、设计、可访

    2024年02月19日
    浏览(39)
  • 界面组件Telerik UI for WPF可轻松实现直方图,让数据可视化更简单

    Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成Visual Studio工具箱中。 Telerik UI for WPF | 下载试用 (Q技术交流:

    2024年02月08日
    浏览(34)
  • 界面控件DevExpress WinForms/WPF v23.2 - 富文本编辑器支持内容控件

    众所周知内容控件是交互式UI元素(文本字段、下拉列表、日期选择器),用于在屏幕上输入和管理信息。内容控件通常在模板/表单中使用,以标准化文档格式和简化数据输入。DevExpress文字处理产品库(Word Processing Document API、WinForm和WPF富文本编辑器)附带了内容控制支持(v23

    2024年04月15日
    浏览(40)
  • 界面控件Kendo UI for jQuery中文教程 - 如何集成全新的DockManager组件

    R3 2023版本在Kendo UI for jQuery套件中引入了许多改进,其中包括多个主题上的新组件、特性和改进。其中一个重要的新增功能是DockManager组件,本文将话一些时间与大家讨论一下它的功能! P.S:Kendo UI for jQuery提供了在短时间内构建现代Web应用程序所需的一切,从众多UI子控件中

    2024年02月04日
    浏览(32)
  • 界面控件DevExpress WinForms Gauge组件 - 实现更高级别数据可视化

    DevExpress WinForms控件包含了超过150个随时可用的仪表盘预设,包括圆形,数字,线性和状态指示器等,来帮助用户实现更高级的数据可视化。 DevExpress WinForms有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。同时能完美构建流畅、美观且易于使用的应用程序

    2024年02月06日
    浏览(45)
  • 报表控件FastReport使用指南-在Ubuntu LTS中创建PDF文档

    FastReport  是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开发中的报表信息输出为TXT、PDF等多种文件格式,是编程开发人员必备的报表

    2024年02月06日
    浏览(32)
  • Telerik UI for ASP.NET Core Crack

    Telerik ASP.NET Core还包括MVC和Kendo UI捆绑包(用于JavaScript)、Figma的设计工具包以及文档处理库、用于ASP.NET Core的Telerik REPL、RTL支持、辅助功能和键盘导航、主题化、虚拟课堂培训、详细文档、演示、KBs和世界级支持。使用一整套功能丰富、响应迅速、可自定义的ASP.NET Core UI组件,

    2024年02月13日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包