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