C# 带单选按钮列的GridView
我正在尝试创建一个gridView,第一列是单选按钮 我正在使用C# 带单选按钮列的GridView,c#,winforms,devexpress,C#,Winforms,Devexpress,我正在尝试创建一个gridView,第一列是单选按钮 我正在使用 DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit m_repositoryItemCheckEdit 作为第一列的存储库编辑 特性: m_repositoryItemCheckEdit.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio; 作为第一列的编
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();
}
要实现第一条规则,请处理事件。此事件允许您根据套利规则禁用特定单元格。在事件处理程序中,验证是否等于您的复选框列。然后查看行,如果焦点行是唯一选中的行,则不要通过将e.Cancel属性设置为true来显示编辑器。我认为要创建单选按钮列表,需要使用RepositoryItemRadioGroup。
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;
}
}