【发布时间】:2013-07-14 14:47:02
【问题描述】:
我创建了一个数据网格视图并将每列的排序模式属性设置为自动。然后,我将 datagridview 与列表绑定,并尝试按升序或降序排序,但对我的 datagridview 列都不起作用。
我的示例代码如下。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace PBAttendance
{
public partial class frmFormTest : Form
{
public frmFormTest()
{
InitializeComponent();
}
private void frmFormTest_Load(object sender, EventArgs e)
{
tempDataList tmplist = new tempDataList();
for(int i=0; i<10; i++)
{
tempData tmp = new tempData();
tmp.Name=i.ToString();
tmplist.Add(tmp);
}
dataGridView1.Columns[0].DataPropertyName = "Name";
BindingSource bs = new BindingSource();
bs.DataSource = tmplist;
dataGridView1.DataSource = bs;
}
}
public class tempData
{
string name = null;
public string Name
{
get { return name; }
set { name = value; }
}
}
public class tempDataList : List<tempData>
{
}
}
【问题讨论】:
-
通常“自动”意味着你不能改变它。
-
当我使用通用列表绑定数据网格视图时,@banging 列标题中的向上和向下箭头不会出现。如果我使用普通列表或通常将内容添加到单元格中,则它是可见的,并且信息也已排序
-
在这种情况下,自动排序没有任何意义。你必须选择 asc 或 desc,或者什么都没有。不要在 dataGrid 上添加排序,您可以通过单击列对其进行排序。
标签: c# datagridview