지도 책에서 페이지를 나타 내기 위해 DataGridView를 설정하려고합니다. 표의 각 셀은 MapGrid 객체를 나타냅니다. 사용자는 이것을 사용하여 MapGrid의 경로를 설정합니다.각 셀이 각 행보다는 바인딩 된 개체가되도록 DataGridView에 바인딩
public class MapGrid
{
public int ID { get; set; }
public short PageNumber { get; set; }
public char ColumnNumber { get; set; }
public byte RowNumber { get; set; }
public RouteSummary Route { get; set; }
}
public class RouteSummary
{
public int ID { get; set; }
public byte RouteNumber { get; set; }
}
데이터 바인딩을 사용하여 내 MapGrid 개체 목록을 표에 바인딩 할 수 있는지 궁금합니다. 나는 같은 것을 할 싶습니다 :
List<MapGrid> mapGrids = GetMapGrids();
dataGridView.DataSource = mapGrids;
그리고 나는 MapGrid.RouteSummary.RouteNumber
속성을 표시하는 DataGridView를하고 싶습니다.
아마도 ILookup<byte, MapGrid>
을 만들어 행별로 MapGrid를 그룹화 할 수 있다고 생각했습니다. 그런 다음 DataGridView에 바인딩 할 수 있습니다. 그래도 RouteNumber를 표시하는 방법을 알 수는 없습니다.
열 수가 일정하면 각 열의 속성으로 개체를 만들고 DataGridView에 해당 개체의 목록을 바인딩 할 수 있습니다. 물론 사물은 그렇게 간단하지 않습니다. 열의 수가 일정하지 않습니다. 그래서 나는 그것이 어떻게 작동 하는지를 보지 못합니다.
아이디어가 있으십니까? 데이터 바인딩 범위를 넘어서 뭔가를하려고합니까? 지금 당장 MapGrid 객체로 DataGridView를 수동으로 채우고 CellValueChanged
이벤트를 사용하여 업데이트해야한다고 생각합니다.
데이터 바인딩이 내가 원하는 것처럼 작동하지 않는다고 가정합니다. 나는 아이디어를 포기하고 DataGridView 대신 TreeView를 사용하기로 결정했습니다. – Ecyrb