将 WPF Datagrid 中的数据检索到 List 中的列数不同
Posted
技术标签:
【中文标题】将 WPF Datagrid 中的数据检索到 List 中的列数不同【英文标题】:Retrieving data from WPF Datagrid into a List does not have the same number of columns 【发布时间】:2020-11-07 05:40:30 【问题描述】:我有一个问题,虽然我在这里搜索了很多但没有答案。 我有2节课
class adminApp
public int Id get; set;
public string Email get; set;
public string Password get; set;
public string FullName get; set;
public Nullable<System.DateTime> StartFrom get; set;
public string LicenseKey get; set;
public bool Checked get; set;
class User
public int Id get; set;
public string FullName get; set;
public string Email get; set;
public Nullable<System.DateTime> StartFrom get; set;
我正在使用 Web API 从 MSSQL 获取并在加载到 Gridview 后推送到 adminApp 类。我编写了一个更新函数,只需将 ID、FullName、Email、StratFrom 发送到 API。我尝试编写一个 Linq 从 Gridview 获取数据,但它仍然为空。请帮我更正我的代码:
List<User> list = dgvList.Items
.OfType<User>()
.Where(x => x.Checked == true)
.ToList();
【问题讨论】:
你说你正在加载adminApp
s,而不是User
s 那你为什么要拉User
s?
是的,我想将“PUT”发送到我的 API 以进行更新。我只接受编辑姓名、电子邮件、开始。我不想将所有数据发送到服务器,因为安全或只是想最小化发送的数据
【参考方案1】:
您的问题缺乏足够的上下文来确定,但如果您的网格中充满了addminApps
,那么您不能直接退出User
。试试这个,它会投影到User
的列表中:
List<User> list = dgvList.Items
.OfType<adminApp>()
.Where(x => x.Checked == true)
.Select(a => new User
Id = a.Id,
FullName = a.FullName,
Email = a.Email,
StartFrom = a.StartFrom )
.ToList();
【讨论】:
以上是关于将 WPF Datagrid 中的数据检索到 List 中的列数不同的主要内容,如果未能解决你的问题,请参考以下文章
如何将 DataGrid 中的文本框绑定到 Wpf 中的列表?
将wpf datagrid导出为自定义Excel CSV文件
SqlDataReader 在尝试将数据加载到 DataGrid WPF 时抛出异常