[英]Add Checkbox Column to a DataGrid
我試圖在WPF的datagrid控件中添加一個checkboxcolum。
我已經在Windows.Forms中做到了,並且效果很好。
因此,現在我想為將來在WPF中編寫新程序。
我想做的方式:數據將來自數據庫作為數據集。
有些字段具有我想顯示為復選框的值。 現在,我已將datagrid autocreatecolumn設置為true,將顯示數據。
現在,我想刪除顯示該值的列,並添加一個復選框列。
有可能嗎?還是應該通過datatemplate創建列?
WPF DataGrid提供了一項稱為AutoGenerateColumns的功能,該功能可以根據數據對象的公共屬性自動生成列。 它根據值的類型生成以下類型的列,您無需執行任何操作。:
1. TextBox columns for string values
2. CheckBox columns for boolean values
3. ComboBox columns for enumerable values
4. Hyperlink columns for Uri values
您可以訂閱AutoGeneratingColumn
事件並更改正在生成的列:
public MyWindow(){
myDataGrid.AutoGeneratingColumn += AutoGeneratingColumnHandler;
}
private void AutoGeneratingColumnHandler(object sender, DataGridAutoGeneratingColumnEventArgs e) {
var bindingPath = ((e.Column as DataGridBoundColumn).Binding as Binding).Path.Path;
if (bindingPath == "MYPATH") {
var checkBoxColumn = new DataGridCheckBoxColumn();
checkBoxColumn.Binding = new Binding(bindingPath);
e.Column = checkBoxColumn;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.