Veri kılavuzum var. Diğer veri bağlarımdan oluşturduğum sıraya kadar, satırlarda sadece 1 2 3 4 ... yazan bir sütun istiyorum.WPF Datagrid satır numarası
<dg:DataGridTextColumn Header="#" IsReadOnly="True"
Binding="...." />
Veri kılavuzum var. Diğer veri bağlarımdan oluşturduğum sıraya kadar, satırlarda sadece 1 2 3 4 ... yazan bir sütun istiyorum.WPF Datagrid satır numarası
<dg:DataGridTextColumn Header="#" IsReadOnly="True"
Binding="...." />
Bugün MSDN belgelerini ve diğer yanıtları incelemek için iyi bir zaman harcadım. Bunu uygulamaya koyma biçimim, veri kümesinin bağlı olduğu koleksiyondaki nesnelerdeki satır numaraları için özel olarak oluşturduğum bir özelliği (benim oluşturduğum) bağlaman. Örneğin.
public class myItem
{
public int LineNumber { get; set; }
// rest of your object...
}
Satır numaralarını kendiniz de kendiniz ayarlamanız gerekir. Satır numaraları eklemenin başka bir yolu here bulunabilir. İşte kod:
datagrid.LoadingRow +=
new EventHandler<DataGridRowEventArgs>(datagrid_LoadingRow);
...
void datagrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = e.Row.GetIndex();
}
Bu uygulama satır başlıklarından satır numaraları koyar ve sadece nesneleri hat numaraları için bir özellik koymak gerekmez. Ancak, datagrid'den bir satır eklemeniz veya silmeniz gerekiyorsa, satır numaraları güncellenmez.
İkincisi çalışmıyor. Yukarı ve aşağı kaydırdığımızda, tüm başlık değerleri bozuk olur. Bu, performansı artırmak için DataGrid'in iç davranışından kaynaklanmaktadır. – Gopinath
Bu konuyla ilgili ayrıntılar için aşağıdaki adrese bakın: http://stackoverflow.com/questions/4663771/wpf-4-datagrid-getting-the-row-number-into-the-rowheader/4663799#comment14001342_4663799 sanallaştırma ayarına bağlı olarak DataGrid'in farklı sürümlerinde çalışmayabilir. – Tony
MSSQL Server 2005+ kullanıyorsanız, şunları deneyebilirsiniz: http://msdn.microsoft.com/en-us/library/ms186734.aspx – nvcnvn
Öncelikli bir sayı sütunu göstermek için datagrid öğesinin bir özniteliği olarak bir yanıt buldum. Asıl özniteliği unuttum. –
Unutuyor musun? Bu işe yaramaz bir şey. Programına bakmak için sadece bir saniye süremez misin? – JohnB