2009-08-26 6 views
7

У меня есть datagrid. Я хотел бы, чтобы столбец отображал просто 1 2 3 4 ... в строках, до столько строк, сколько я создал из других привязок данных.WPF Datagrid номер строки

<dg:DataGridTextColumn Header="#" IsReadOnly="True" 
              Binding="...."   /> 
+0

Я нашел ответ как атрибут datagrid для отображения столбца ведущего числа. Я забываю фактический атрибут. –

+4

Ты забыл ??? Это бесполезно. Не могли бы вы просто взять секунду, чтобы посмотреть на свою программу? – JohnB

ответ

3

Я потратил немало времени, просматривая документацию MSDN и другие темы для этого ответа. Способ, которым я решил реализовать это, - привязать свойство (которое я создал) специально для номеров строк в объектах коллекции, к которым привязан datagrid. например

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, номера строк не будут обновляться.

+1

Второй не работает. Когда мы прокручиваем вверх и вниз, все значения заголовка будут беспорядочными. Это связано с внутренним поведением DataGrid для повышения производительности. – Gopinath

+0

См. Обсуждение по адресу: http://stackoverflow.com/questions/4663771/wpf-4-datagrid-getting-the-row-number-into-the-rowheader/4663799#comment14001342_4663799 Подробнее о том, почему это возможно или может не работать в разных версиях DataGrid, основанных на настройке виртуализации. – Tony

+0

Если вы используете MSSQL Server 2005+, вы можете попробовать: http://msdn.microsoft.com/en-us/library/ms186734.aspx – nvcnvn

Смежные вопросы