我有一個數據網格。我想要一列只顯示1 2 3 4 ...在行中,最多可以從我的其他數據綁定創建的行數。WPF Datagrid行號
<dg:DataGridTextColumn Header="#" IsReadOnly="True"
Binding="...." />
我有一個數據網格。我想要一列只顯示1 2 3 4 ...在行中,最多可以從我的其他數據綁定創建的行數。WPF Datagrid行號
<dg:DataGridTextColumn Header="#" IsReadOnly="True"
Binding="...." />
我已經花了很多時間今天通過MSDN文檔和其他線程查看此答案。我已經解決了實現這個問題的方式,它綁定了一個屬性(我創建的),專門用於數據網格綁定到的集合中對象的行號。例如
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();
}
該實現將行號放入行標題中,並且不要求僅爲行號中的對象放置屬性。但是,如果您需要從數據網格插入或刪除一行,則行號不會更新。
第二個不起作用。當我們上下滾動時,所有標題值將會無序。這是由於DataGrid的內部行爲以提高性能。 – Gopinath 2010-04-21 12:11:04
請參閱: http://stackoverflow.com/questions/4663771/wpf-4-datagrid-getting-the-row-number-into-the-rowheader/4663799#comment14001342_4663799 有關爲什麼這可能或可能無法在基於虛擬化設置的不同DataGrid版本上運行。 – Tony 2012-05-26 22:47:09
如果您使用的是MSSQL Server 2005+,則可以嘗試:http://msdn.microsoft.com/en-us/library/ms186734.aspx – nvcnvn 2012-06-25 13:30:18
我找到了答案,作爲datagrid的一個屬性來顯示前導數字列。我忘記了實際的屬性。 – 2009-09-28 03:33:04
你忘了?這是沒用的。你不能花一秒鐘看看你的節目嗎? – JohnB 2011-01-11 19:36:15