2013-10-03 93 views
0

我有我喜歡在DataGrid中顯示的對象列表。在WPF中自定義DataGrid

int LocationId { get; set; } 
string LocationName { get; set; } 
ProductionArea Area { get; set; } 
DateTime CreateDateTime { get; set; } 
string DropFolderPath { get; set; } 
string CreateBy { get; set; } 
int Plant { get; set; } 

但我還需要一些額外的領域來顯示進度,在每一行ore複選框,以檢查是否需要行動。但也喜歡不顯示所有字段,例如「LocationId」。

回答

1

您將不得不在您的DataGrid上設置AutoGenerateColumns=false併爲您的數據創建列。您可以創建多列並綁定到要顯示

<DataGrid AutoGenerateColumns="False"> 
     <DataGrid.Columns> 
      <DataGridCheckBoxColumn/> 
      <DataGridTextColumn Binding="{Binding LocationName}"/> 
     </DataGrid.Columns> 
    </DataGrid> 

對於顯示欄進度的唯一數據,你可以使用DataGridTemplateColumn並定義爲CellTemplate它有進度。

+0

從同一個列表中工作是不可能的,所以我沒有把它分開? – mortenstarck

+0

是的..你只需要將網格的itemsSource綁定到你在問題中添加的對象的列表..但通過設置AutoGenerateColumns =「False」,你可以決定你想要在你的DataGrid中有哪些列以及它們屬於哪個屬性應該綁定到 – Nitin

相關問題