我有一个数据表格。我想要在行中显示简单的 1 2 3 4 ... 的列,直到我的其他数据绑定创建了多少行为止。
<dg:DataGridTextColumn Header="#" IsReadOnly="True"
Binding="...." />
今天我花了很多时间查看MSDN文档和其他线程,以寻找答案。我决定实现的方法是在绑定到DataGrid的集合中的对象中绑定一个属性(我创建的属性)来表示行号。例如:
public class myItem
{
public int LineNumber { get; set; }
// rest of your object...
}
您需要手动设置对象中的行号。
另一种添加行号的方法可以在此处找到。以下是代码:
datagrid.LoadingRow +=
new EventHandler<DataGridRowEventArgs>(datagrid_LoadingRow);
...
void datagrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = e.Row.GetIndex();
}
这个实现方式将行号放在行头中,不需要您在对象中添加仅用于行号的属性。但是,如果您需要在数据表格中插入或删除一行,则行号将不会更新。