首页 > 编程语言 >C# 动态对象 灵活数据绑定

C# 动态对象 灵活数据绑定

时间:2024-01-26 19:04:59浏览次数:18  
标签:Name 灵活 C# 绑定 Binding Add var new row

//当不想创建类,或者这个类的字段是动态变化的(不确定有多少字段)

//可以考虑动态对象,方便好用


//此处示例是用DataGrid用的数据源动态绑定

ObservableCollection<dynamic> dataSource = new ObservableCollection<dynamic>();


// 创建动态对象

dynamic dynamicObject = new ExpandoObject();


// 获取动态对象的字典

var row = (IDictionary<string, object>)dynamicObject;

row.Add("Name",itemRow.Name);//点位名称;


for (int i = 0; i < PointList.Count; i++)

{

   //动态名称 V1  V2  V3....

   row.Add("V"+i.ToString(),PointList[i].ToString("N3"));

}


dataSource.Add(row);

DataGrid.ItemsSource = dataSource;


//最后就能这样使用了

var name = row.Name;

var V1 = row.V1;

var V2 = row.V2;

//也能用作界面数据绑定

Columns.Add(new DataGridTextColumn() { Width=100, IsReadOnly=false, Header="点位名称",Binding=new Binding("Name")});

Columns.Add(new DataGridTextColumn() { Width=100, IsReadOnly=false, Header="点位名称",Binding=new Binding("V"+i)});


//快去你的项目中试试吧

标签:Name,灵活,C#,绑定,Binding,Add,var,new,row
From: https://blog.51cto.com/u_16544892/9437037

相关文章

  • Cybellum—信息安全测试工具
    产品概述    由于软件和数据在汽车上的使用越来越多,汽车越来越“智能化”,汽车行业面临着重大的信息安全挑战。2021年8月,ISO/SAE21434正式发布,标准中对汽车的信息安全提出了规范化的要求,汽车信息安全不容忽视。     Cybellum是一款信息安全测试与管理工具,帮助汽车OE......
  • Apipost-cli、Jenkins持续集成配置
    安装Apipost-clinpminstall-gapipost-cli运行脚本安装好Apipost-cli后,在命令行输入生成的命令,即可执行测试用例,运行完成后会展示测试进度并生成测试报告。Jenkins配置Apipostcli基于Nodejs运行需要在jenkins上配置NodeJs依赖Step1:在插件管理中安装NodeJs在全局工具中配置Nod......
  • [office] 将模拟运算表转换为图表
    如果需要更加直观地查看和比较数据,还可以将计算结果转换为图表,下面就将双变量模拟运算表转换为图表,将模拟运算表转换为图表操作方法如下:1、在工作表Sheet6中对表格进行美化。选择单元格B2,按下Delete键,将计算结果清除。图12、选择单元格区域A2:E8,切换到【插入】选......
  • [office] excel表格间距如何设置
    excel的单元格是默认大小的,如果输入的语句太长就会被隐藏起来,看起来十分美观,并且要用的时候也很麻烦,下面让小编为你带来excel表格间距的设置方法。excel表格间距设置步骤:要修改Excel的行间距,首先要选择需要改动的单元格,但是不能单独选择一个单元格,要选择Excel最左侧的......
  • tomcat安全加固
    1.升级最新版tocmat升级遇到的问题:启动时启动窗口出现乱码解决方案:https://blog.csdn.net/yxzone/article/details/1247506922.删除ROOT文件夹3.配置各种响应头一开始我还抱有幻想,在tomcat内部配置,但是查看了而一圈文档,包括tomcat官方文档之后,我才发现tomcat可以配置的安全策......
  • 使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
    前言:什么是集成配置系统?集成配置系统的主要目的是将应用程序的配置信息与代码分离,使得配置信息可以在不需要修改代码的情况下进行更改。这样可以提高应用程序的灵活性和可维护性。ASP.NETCore提供了一种灵活的配置系统,可以轻松地将配置信息从不同的来源加载到应用程序中,并且......
  • openGauss学习笔记-208 openGauss 数据库运维-常见故障定位案例-TPCC高并发长稳运行因
    openGauss学习笔记-208openGauss数据库运维-常见故障定位案例-TPCC高并发长稳运行因脏页刷盘效率导致性能下降208.1TPCC高并发长稳运行因脏页刷盘效率导致性能下降208.1.1问题现象TPCC高并发长稳运行因脏页刷盘效率导致性能下降,具体表现为:初始性能较高,随着运行时间增加,数据......
  • 无涯教程-Scala - 提取器
    Scala中的提取器Extractors是一个对象,该对象具有称为unapply的方法,该方法的目的是匹配值并将其拆开。让我们以对象定义apply和unapply方法为示例,apply方法的含义与以往相同:它将Test变成一个对象,该对象可以以与应用方法相同的方式应用于括号中的参数。因此,您可以编写Te......
  • .NET Core 6.0 Windows部署
    varoptions=newWebApplicationOptions{Args=args,//这是因为从Windows中调用GetCurrentDirectory会返回:C:\WINDOWS\system32//需要注意使用了WindowsService部署,就不能使用Console类,否则会报错ContentRootPath=WindowsServiceHelpers.IsWindowsServi......
  • 根据后端接口获取文件流下载Excel文件 分别通过GET和POST请求实现(★★★
    POST携带参数请求文件流并保存为Excel文件//payload携带的对象参数functiondownloadExcel(payload){letxhr=newXMLHttpRequest();xhr.open('POST','background/baseInfo/export',true);xhr.setRequestHeader('Content-Type','application/j......