DataGrid가 있습니다. 간단하게 1 2 3 4 ... 행에, 다른 데이터 바인딩에서 작성한만큼의 행을 표시하는 열을 원합니다.WPF Datagrid 행 번호
<dg:DataGridTextColumn Header="#" IsReadOnly="True"
Binding="...." />
DataGrid가 있습니다. 간단하게 1 2 3 4 ... 행에, 다른 데이터 바인딩에서 작성한만큼의 행을 표시하는 열을 원합니다.WPF Datagrid 행 번호
<dg:DataGridTextColumn Header="#" IsReadOnly="True"
Binding="...." />
오늘이 답변을 위해 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의 내부 동작 때문입니다. – Gopinath
다음 페이지에서 토론을 참조하십시오. http://stackoverflow.com/questions/4663771/wpf-4-datagrid-getting-the-row-number-into-the-rowheader/4663799#comment14001342_4663799 가상화 설정을 기반으로 다른 버전의 DataGrid에서 작동하지 않을 수 있습니다. – Tony
MSSQL Server 2005+를 사용하는 경우 다음을 시도 할 수 있습니다. http://msdn.microsoft.com/en-us/library/ms186734.aspx – nvcnvn
선도 번호 열을 표시하기 위해 데이터 그 림에 대한 속성으로 대답을 찾았습니다. 나는 실제 속성을 잊어 버렸다. –
당신은 잊지 ?? 그것은 쓸데없는 일입니다. 당신은 당신의 프로그램을보기 위해 잠시만 시간을 들일 수 있습니까? – JohnB