RepositoryItemComboBox добавить специфицированный c элемент для каждой строки - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть элемент управления RepositoryItemComboBox на Dev express GridView и 4 строки. RepositoryItemComboBox.Items.Add влияет на все строки. В событиях CustomRowCellEdit и CustomRowCellEditForEditing я использую RepositoryItemComboBox.Items.Clear () и RepositoryItemComboBox.Items.Add, но снова это влияет на все строки. Мне нужно изменить Speci c RepositoryItemComboBox. Например, в первой строке в RepositoryItemComboBox должен содержаться «Майкл, Джон», а во второй строке в RepositoryItemComboBox должен содержаться «Сара, Джейк».

1 Ответ

1 голос
/ 27 апреля 2020

Вы можете создать хранилище и назначить его в зависимости от вашего состояния, обработав событие CustomRowCellEdit .

    private RepositoryItemComboBox myRepository(string[] myNames)
    {
        RepositoryItemComboBox repositoryItemCombo = new RepositoryItemComboBox();
        repositoryItemCombo.Items.AddRange(myNames);

        return repositoryItemCombo;
    }

Затем

    private void GridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
    {
        if (e.Column.FieldName != "YourFieldName")
            return;

        if (e.RowHandle == 1) // Your condition
        {
            e.RepositoryItem = myRepository(new string[] { "Michael", "John" });
        }
        else
        {
            e.RepositoryItem = myRepository(new string[] { "Sarah", "Jake" });
        }
    }
...