1

最初の列としてラジオ ボタンを使用して gridView を作成しようとしています。

私は使用しています

        DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit m_repositoryItemCheckEdit

frist の列リポジトリの編集として。

プロパティ:

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

最初の列の編集者として。

通常のラジオ ボタン リストを作成しようとしています: 1) 少なくとも 1 つのオプションが選択されています 2) 多くても 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();

    }

最初のルールを取得する方法がわかりません。

助けてください。

編集:

MyRecord は:

      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;
    }
}
4

1 に答える 1

0

最初のルールを実装するには、GridView.ShowingEditorイベントを処理します。このイベントにより、任意のルールに従って特定のセルを無効にすることができます。イベント ハンドラー内で、GridView.FocusedColumnがチェックボックス列と等しいことを確認します。次に、行を調べて、フォーカスされた行がチェックされた唯一の行である場合は、e.Cancel プロパティを true に設定してエディターを表示しません。

于 2012-05-29T18:47:18.480 に答える