陌湘萘 2021-05-12 14:49 采纳率: 40%
浏览 14

【PDA】DataGrid中如何添加一個全選列?

不支持WPF,不支持DataGridView的情況下:

思路:DataGridTableStyle 加 DataGridBoolColumn ,結果不支持  DataGridBoolColumn

 private void Proc_TableAddColumn()
        {
            this.Proc_CreateTable();
            //DataGrid寬度調整
            DataGridTableStyle mygridstyle = new DataGridTableStyle();
            mygridstyle.MappingName = tbl.TableName;

            //DataGridBoolColumn db = new DataGridBoolColumn();
            //db.MappingName = tbl.Columns[0].ColumnName;
            //db.HeaderText = tbl.Columns[0].ColumnName;
            //db.AllowNull=false;
            //mygridstyle.GridColumnStyles.Add(db);
            

            for (int i = 1; i < tbl.Columns.Count; i++)
            {
                DataGridTextBoxColumn myColumn = new DataGridTextBoxColumn();
                myColumn.MappingName = tbl.Columns[i].ColumnName;
                myColumn.HeaderText = tbl.Columns[i].ColumnName;
                if (i==0||i == 1)
                    myColumn.Width = 30;
                else if (i == 2)
                    myColumn.Width = 112;
                else if (i == 5)
                    myColumn.Width = 200;
                else
                    myColumn.Width = 50;

                mygridstyle.GridColumnStyles.Add(myColumn);
            }
            dataGrid1.TableStyles.Add(mygridstyle);
        }
  • 写回答

1条回答 默认 最新

  • 无限虚空 2024-07-02 12:53
    关注

    在PowerDesigner (PDA) 中的 DataGrid 组件中,添加一个全选列通常是为了方便用户一次选择所有行。下面是步骤和方法:

    1. 打开设计视图:在 DataGrid 设计器中,双击打开 DataGrid 控件以进入设计模式。

    2. 查找或添加列模板:如果 DataGrid 已经有一个列模板(Column Template),你可以在此基础上操作。如果没有,则可能需要首先创建一个新模板。

    3. 添加全选复选框:在列模板的设计界面,找到合适的列位置,添加一个新的复选框控件。这个复选框将作为全选列的标识。

    4. 设置属性:对于复选框控件,确保其 Checked 属性关联到了 DataGrid 的所有记录。这可以通过设置它的 ItemsSourceValueMemberPath 属性来完成,使其状态同步于 DataGrid 的每一项。

    5. 绑定事件处理:为复选框添加 ClickCheckStateChanged 事件处理器,当用户点击全选列时,你可以编写代码来控制其他所有行的状态。

    6. 实现全选/取消全选功能:在事件处理器中,你可以遍历 DataGrid 的所有行,根据复选框的状态来切换它们的选中状态。同时,记得更新复选框本身的值。

    7. 关联数据模型:确保你在数据访问层(如DAO或Business Layer)中也实现了相应的方法,以便在数据上下文中执行全选/取消全选的操作。

    评论

报告相同问题?