【问题标题】:GridView with radio button Column带有单选按钮列的 GridView
【发布时间】:2012-05-28 15:32:36
【问题描述】:

我正在尝试制作一个带有单选按钮作为第一列的 gridView。

我正在使用

        DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit m_repositoryItemCheckEdit

作为第一个的列存储库编辑。

属性:

          m_repositoryItemCheckEdit.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;

作为第一列的编辑器。

我正在尝试创建一个普通的单选按钮列表: 1) 至少选择了一个选项 2) 最多选择一个选项

对于第二条规则,我使用 CheckedChange 事件来获取行为:

     void m_repositoryItemCheckEdit_CheckedChanged(object sender, System.EventArgs e)
    {
        var selectedRow = m_gridView.GetSelectedRows()[0];

        for (int i = 0; i < m_gridView.RowCount; i++)
        {
            //change the checked state to false for all rows except the selected one
            if (i != selectedRow)
            {
                MyRecord o = m_gridView.GetRow(i) as MyRecord;
                o.Checked = false;
            }
        }
        m_gridView.RefreshData();

    }

我不知道如何获得第一条规则。

你能帮帮我吗?

编辑:

我的记录是:

      public class MyRecord
{
    public bool Checked { get; set; }
    public string Name { get; set; }
    public MyRecord(bool i_checked, string name)
    {
        Checked = i_checked;
        Name = name;
    }
}

【问题讨论】:

  • 我认为创建一个单选按钮列表需要使用 RepositoryItemRadioGroup。

标签: c# winforms devexpress


【解决方案1】:

要实现第一条规则,请处理GridView.ShowingEditor 事件。此事件允许您根据任意规则禁用某个单元格。在事件处理程序中验证 GridView.FocusedColumn 是否等于您的复选框列。然后查看行,如果焦点行是唯一选中的行,则不要通过将 e.Cancel 属性设置为 true 来显示编辑器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    相关资源
    最近更新 更多