关键词:
【中文标题】winForms + DataGridView 绑定到 List<T>【英文标题】:winForms + DataGridView binding to a List<T> 【发布时间】:2010-09-12 14:41:04 【问题描述】:我正在尝试将 List<T>
绑定到 DataGridView 控件,但我没有任何运气来创建自定义绑定。
我试过了:
gvProgramCode.DataBindings.Add(new Binding("Opcode",code,"Opcode"));
它抛出一个异常,表示该属性名称没有找到任何东西。
相关列的名称是“操作码”。 List<T>
中的属性名称为 Opcode。
回答编辑:问题是我的类中没有可绑定字段作为属性,只有公共字段......显然它不会反映字段,只是属性。
【问题讨论】:
哈哈,这正是我在我的 cmets 中添加的内容,很高兴你的问题得到了解决。 +1 我也遇到了同样的问题。吸蛋的男人!!! 你真是天赐之物。现在,我已经连续六个小时一直在努力解决这个问题。尝试了我能想到的一切,以及我能想到的谷歌。没有运气。终于找到了你的帖子,当然,我很着急,把它们设为字段,而不是属性。 【参考方案1】:您是否也将网格上的属性绑定到 Opcode?...如果您想直接绑定到 List,您只需 DataSource = list。数据绑定允许自定义绑定。您是否正在尝试做数据源以外的事情?
你得到一堆空行?自动生成的列有名称吗?您是否已验证数据在对象中(不仅仅是 string.empty)?
class MyObject
public string Something get; set;
public string Text get; set;
public string Other get; set;
public Form1()
InitializeComponent();
List<MyObject> myList = new List<MyObject>();
for (int i = 0; i < 200; i++)
string num = i.ToString();
myList.Add(new MyObject Something = "Something " + num , Text = "Some Row " + num , Other = "Other " + num );
dataGridView1.DataSource = myList;
这应该可以正常工作...
【讨论】:
是的。如果我只是做 DataSource = list,我会得到一堆空列。 所以您只想将网格绑定到自定义对象列表中的操作码属性? 如果我问的是演员阵容,那就做... Grid.DataSource = MyList.Select(o => o.Opcode); 类中有三个字符串,Opcode就是其中之一。此类是 List我无法真正告诉您要对包含的示例进行什么操作,但是如果您只想列出对象,则绑定到通用对象列表相当简单:
private BindingSource _gridSource;
private BindingSource GridSource
get
if (_gridSource == null)
_gridSource = new BindingSource();
return _gridSource;
private void Form1_Load(object sender, EventArgs e)
List<FluffyBunny> list = new List<FluffyBunny>();
list.Add(new FluffyBunny Color = "White", EarType = "Long", Name = "Stan" );
list.Add(new FluffyBunny Color = "Brown", EarType = "Medium", Name = "Mike" );
list.Add(new FluffyBunny Color = "Mottled", EarType = "Short", Name = "Torvald" );
GridSource.DataSource = list;
dataGridView1.Columns["EarType"].Visible = false; //Optionally hide a column
dataGridView1.DataSource = GridSource;
如果您只想显示列表类型的特定属性,您应该能够使不需要的列不可见。
从技术上讲,您实际上并不需要创建 BindingSource,但如果我有它,我发现在进行更新或更改时会容易得多。
希望这会有所帮助。
【讨论】:
直接绑定到 List有同样的问题......我显然有一个带有公共字段的结构。网格中没有任何内容。提供公共吸气剂,工作。
【讨论】:
【参考方案4】:我发现的另一个解决方案是使用 BindingList 集合。
private void Form1_Load(object sender, EventArgs e)
BindingList people= new BindingList
new Person Name="John",Age=23,
new Person Name="Lucy",Age=16
;
dataGridView1.DataSource= people;
对我来说很好用,
【讨论】:
使用BindingList<T>
让我在尝试绑定DataGridViews 时省了力气!谢谢。通过 TextBox(C#、WinForms)过滤空 DataGridView
】通过TextBox(C#、WinForms)过滤空DataGridView【英文标题】:FilteringEmptyDataGridViewthroughTextBox(C#,WinForms)【发布时间】:2020-10-2320:21:15【问题描述】:我有一个dataGridView,我从右上角的小箭头加载了数据。我的计划是使用textbox_TextChang... 查看详情
winforms:datagridview:高度(自动调整大小)取决于行数
】winforms:datagridview:高度(自动调整大小)取决于行数【英文标题】:winforms:datagridview:height(autosize)dependingonnumberofrows【发布时间】:2011-01-1913:59:26【问题描述】:在我的一种形式中,datagridview显示来自数据库的数据(当然,数... 查看详情
WinForms DataGridView 字体大小
】WinFormsDataGridView字体大小【英文标题】:WinFormsDataGridViewfontsize【发布时间】:2008-09-1515:39:46【问题描述】:如何更改DataGridView上的字体大小?【问题讨论】:请注意,如果您增加字体大小***.com/questions/3370236/…,您可能还想更... 查看详情
我们如何在winform的datagridview中进行分页
】我们如何在winform的datagridview中进行分页【英文标题】:Howcanwedopaginationindatagridviewinwinform【发布时间】:2011-02-1900:37:20【问题描述】:我想在窗口窗体的datagridview中每页显示10条记录,用户必须单击下一步按钮才能显示接下来... 查看详情
如何在 C# WinForms 中使用 LINQ 从 DataGridView 中选择多个字段
】如何在C#WinForms中使用LINQ从DataGridView中选择多个字段【英文标题】:HowtoSelectMultipleFieldsfromDataGridViewusingLINQinC#WinForms【发布时间】:2021-11-1515:04:13【问题描述】:技术细节:VisualStudio2017(社区版)LINQC#(WinForms)我正在尝试使用LIN... 查看详情
winform中的datagridview添加自动编号(代码片段)
...m项目,在工具栏里拖一个dataGriView到窗体中,默认名称为dataGridView1,把数据源添加到dataGridView1中,运行,看到dataGriView1有数据显示,但没有行编号,所以我们需要添加一列,用来显示行号,以便我们知道这是第几条记录。选中d... 查看详情
winForms + DataGridView 绑定到 List<T>
】winForms+DataGridView绑定到List<T>【英文标题】:winForms+DataGridViewbindingtoaList<T>【发布时间】:2010-09-1214:41:04【问题描述】:我正在尝试将List<T>绑定到DataGridView控件,但我没有任何运气来创建自定义绑定。我试过... 查看详情
如何更改winform DataGridview 标头的颜色?
】如何更改winformDataGridview标头的颜色?【英文标题】:HowtochangethecolorofwinformDataGridviewheader?【发布时间】:2010-11-1721:09:48【问题描述】:我尝试过没有成功。有可能吗?【问题讨论】:【参考方案1】:可以做到的。来自设计师... 查看详情
c#winform中datagridview导出excel
只需要传入datagridview的name即可。1//导出Excel()方法2publicvoidToExcel(DataGridViewdataGridView)3{4//实例化一个Excel.Application对象5Microsoft.Office.Interop.Excel.Applicationexcel=newMicrosoft.Office.Interop.Excel.Appli 查看详情
winform datagridview 列排序
】winformdatagridview列排序【英文标题】:winformdatagridviewcolumnsort【发布时间】:2021-11-1801:44:41【问题描述】:我正在尝试对标准Windows表单数据网格视图中的列进行排序。VisualStudio2015目标.net框架:4.5.2我已将AllowUsersToOrderColumns设置... 查看详情
gjm:c#winform开发系列-datagridview使用方法集锦
1.DataGridView实现课程表 testcontrol.rar 2.DataGridView二维表头及单元格合并 DataGridView单元格合并和二维表头.rar myMultiColHeaderDgv.rar 3.DataGridView单元格显示GIF图片 gifanimationind 查看详情
winform控件之combobox,datagridview(代码片段)
1.代码结构截图2.核心代码usingSystem;usingSystem.Data;usingSystem.Drawing;usingSystem.Windows.Forms;namespaceWinFormComboBoxDemos///<summary>///WinForm程序:ComboBox和DataGridView使用方法///LDH@2018-3-6///</su 查看详情
一个winform下datagridview控件外观的自定义类
一、关于起因最近非常频繁的使用DataGridView控件,VS提供的Winform下DataGridView的默认样式非常难看。如果做美化处理的话,需要调整的地方非常多,且该控件的很多设置属性非常的晦涩,不是很人性化。每次进行设置都煞费脑筋,... 查看详情
如何在winforms的datagridview中将字符串排序为数字
】如何在winforms的datagridview中将字符串排序为数字【英文标题】:howtosortstringasnumberindatagridviewinwinforms【发布时间】:2011-02-1002:33:45【问题描述】:我在datagridview中有带数字的字符串列。它没有绑定,我想按我使用的数字对它进... 查看详情
winform中datagridview控件添加行标题
有很多种方法。 1、可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value)1///<summary>2///行状态更改时发生3///</summary>4///<paramname="sender"></param>5///<paramname="e"& 查看详情
winform导出datagridview到excel
如果电脑上没有Microsoft.Office.Interop.Excel.dll去找DLL下载站下载即可 需要先导入这个dll的引用 呈上代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSyst 查看详情
在 WPF WindowsFormsHost 中滚动 WinForms DataGridView
】在WPFWindowsFormsHost中滚动WinFormsDataGridView【英文标题】:ScrollWinFormsDataGridViewinaWPFWindowsFormsHost【发布时间】:2012-02-2812:54:25【问题描述】:我有一个Scrollviewer,它包含一个带有WindowsFormsHost的框架。WindowsFormsHost包含一个DataGridView... 查看详情
C# WinForms - DataGridView/SQL Compact - 主键列中的负整数
】C#WinForms-DataGridView/SQLCompact-主键列中的负整数【英文标题】:C#WinForms-DataGridView/SQLCompact-Negativeintegerinprimarykeycolumn【发布时间】:2010-09-0712:00:09【问题描述】:我刚刚开始使用WinForms,并且通过一个可爱的教程,我发现了将数据... 查看详情