【问题标题】:Bind Objects To DataGridview and Reorder Column将对象绑定到 DataGridview 并重新排序列
【发布时间】:2013-07-05 16:19:18
【问题描述】:

我想将对象列表绑定到dataGridView。 现在我希望所需的列成为我定义它们的方式。即,我希望对象按照我想要的方式排序。 喜欢

var dataSource = linkItemListCommon.Select(x => new DataToBind { Select = x.Default, FileName = x.Text, CurrentDate = x.Date+" "+x.Time , PreviousDate = string.Empty, Size = x.Size }).ToList();

var filenamesList = new BindingList<DataToBind>(dataSource);
            dgvDownLoadMaster.DataSource = filenamesList;

我希望数据网格列按照我定义的顺序排列。 像这里一样,我希望它们按以下顺序排列:

选择文件名 CurrentDate PreviousDate Size

但列列表显示不符合我的要求。 怎么做。请帮忙。

【问题讨论】:

  • 任何人请回复我的问题。 :(

标签: linq c#-4.0 data-binding datagridview


【解决方案1】:

手动创建列,然后您可以轻松地订购它们。您可以通过设计器添加列,只需将每列 DataPropertyName 设置为相应的字段。

或者您可以通过编程方式创建每一列:

var col = new DataGridViewTextBoxColumn();
col.DataPropertyName = "Select ";
col.HeaderText = "Select";
col.Name = "ColSelect";

dgvDownLoadMaster.Columns.Add(col);

您必须对每一列都执行此操作,并在 databinding 之前执行此操作。

【讨论】:

  • 这是有效的,但绑定后我得到了额外的列 FileName。
  • 在绑定前添加dgvDownLoadMaster.AutoGenerateColumns = false; :)
  • @gzaxx 这不会添加列,但我的带有文件名数据的列没有绑定到 gridview。
  • 你能展示你更新的代码吗,你是如何添加列的?因为您可能忘记添加 1 列或设置正确的 DataPropertyName
  • @gzaxx 再问一个问题,我们可以在拖放中重新排序列。请指导我如何实现。
猜你喜欢
  • 2014-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-22
  • 1970-01-01
  • 2017-08-30
相关资源
最近更新 更多