最近在做一个项目,其中要用到主从表数据的折叠和隐藏,并且对从表中的数据能够获取和操作,虽然搞了好久,但最终被我推敲出来了,写出来分享一下,让朋友少走弯路,废话不说了,先上效果图:
下面是代码:
|
前台
<DataGrid ItemsSource=
"{Binding}"
Name=
"dataGrid1"
MouseUp=
"dataGrid1_MouseUp"
...>
<DataGrid.Columns>
<DataGridTemplateColumn Width=
"Auto"
>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Expander Expanded=
"Expander_Expanded"
Collapsed=
"Expander_Collapsed"
/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding=
"{Binding Facility_type}"
FontSize=
"22"
Header=
"設備類型"
Width=
"120"
/>
<DataGridTextColumn FontSize=
"22"
Header=
"廠房代碼"
Width=
"85"
/>
<DataGridTextColumn FontSize=
"22"
Header=
"樓層"
Width=
"70"
/>
<DataGridTextColumn FontSize=
"22"
Header=
"部門名稱"
Width=
"430"
/>
<DataGridTextColumn Binding=
"{Binding Count_all}"
FontSize=
"22"
Header=
"設備總數"
Width=
"100"
/>
<DataGridTextColumn Binding=
"{Binding Count_no}"
FontSize=
"25"
FontWeight=
"Bold"
Foreground=
"Red"
Header=
"未使用數量"
Width=
"115"
/>
<DataGridTextColumn Binding=
"{Binding Count_yes}"
FontSize=
"22"
Foreground=
"Green"
Header=
"使用中數量"
Width=
"115"
/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate >
<DataTemplate >
<DataGrid Name=
"dataGrid2"
Width=
"1070"
SelectedValuePath =
"dept_code"
IsReadOnly=
"True"
HeadersVisibility=
"None"
HorizontalGridLinesBrush=
"#FFE0E2DF"
VerticalGridLinesBrush=
"#FFE0E2DF"
ItemsSource=
"{Binding Details}"
CanUserAddRows=
"False"
SelectionUnit=
"FullRow"
AutoGenerateColumns=
"False"
MouseUp=
"dataGrid2_MouseUp"
>
<DataGrid.Columns>
<DataGridTextColumn Header=
""
Width=
"150"
/>
<DataGridTextColumn Binding=
"{Binding building_code}"
FontSize=
"22"
Header=
"廠房代碼"
Width=
"85"
/>
<DataGridTextColumn Binding=
"{Binding floor}"
FontSize=
"22"
Header=
"樓層"
Width=
"70"
/>
|