簡體   English   中英

將復選框列添加到DataGrid

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM