這個問題困擾了我兩周之久,無意中看到DataGrid控件中放入復選框和按鈕的方法,試了一下果然有用,果然是萬變不離其宗啊,我表示我現在非常開心,雖然后台的實現還沒有完成,但是至少正確的顯示了。
Before:
CheckBox我用的是:
<dxg:GridControl.Columns> <dxg:GridColumn FieldName="Choose" Header="選擇"> <dxg:GridColumn.EditSettings> <dxe1:CheckEditSettings /> </dxg:GridColumn.EditSettings> </dxg:GridColumn>
顯示的結果總是(PS:這圖片借用一位網上的仁兄的,我忘記截圖了),既不能選也不正確顯示,這讓我非常頭大。tt
Button我用的是:
<dxg:GridColumn FieldName="Operation" AllowSorting="True" Header="操作" AllowEditing="True"> <dxg:GridColumn.EditSettings> <dxe1:ButtonEditSettings AcceptsReturn="True" AllowDefaultButton="False" NullValueButtonPlacement="Popup" IsTextEditable="False"> <dxe1:ButtonEditSettings.Buttons> <dxe1:ButtonInfo GlyphKind="Cancel" Name="deleteone" Content="刪除" /> <dxe1:ButtonInfo GlyphKind="Refresh" Name="updateone" ToolTipService.ToolTip="更新" /> </dxe1:ButtonEditSettings.Buttons> </dxe1:ButtonEditSettings> </dxg:GridColumn.EditSettings> </dxg:GridColumn>
顯示的結果頁不是我要的。
After:
直接插代碼:
<dxg:GridColumn FieldName="Choose"> <dxg:GridColumn.Header> <CheckBox>全選</CheckBox> </dxg:GridColumn.Header> <dxg:GridColumn.CellTemplate> <DataTemplate> <CheckBox Tag="{Binding id}"></CheckBox> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn>
<dxg:GridColumn FieldName="Operation" AllowSorting="True" Header="操作"> <dxg:GridColumn.CellTemplate> <DataTemplate> <dxe:ButtonEdit ShowText="False" AllowDefaultButton="False"> <dxe:ButtonInfo x:Name="deleteone" GlyphKind="Cancel" ToolTipService.ToolTip="刪除" CommandParameter="{Binding id}"/> <dxe:ButtonInfo x:Name="updateone" GlyphKind="Refresh" ToolTipService.ToolTip="修改" CommandParameter="{Binding id}"/> </dxe:ButtonEdit> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn>
成果: