Куда делась моя строка вставки? (DataGridView) - PullRequest
1 голос
/ 23 июня 2009

Я использую Datagridview (неограниченный режим), и я выбрал «включить добавление» в конструкторе.

при загрузке формы сетка не заполняется (выпадающий список, чтобы выбрать поставщика и кнопка для просмотра псевдонимов), и на вкладке отображается одна строка со знаком *

Однако, когда я заполняю сетку, у меня больше не остается этой строки вставки для добавления в коллекцию.

Вот в основном то, что я делаю:

List<SupplierAlias> aliases = //some db lookup.
aliasGrid.AutoGenerateColumns = false;
aliasGrid.DataSource = aliases;

Столбцы определены как несвязанные столбцы в конструкторе.

Раньше я использовал очистку aliasGrid.DataBindings, но я убрал это, и он все еще удаляет строку вставки.

Ответы [ 2 ]

0 голосов
/ 23 июня 2009

Отвечая на свой вопрос для справки других.

Я изменил список <SupplierAlias> Я использовал привязку данных к BindingList <SupplierAlias>, и теперь у меня есть строка вставки.

0 голосов
/ 23 июня 2009

Есть ли у SupplierAlias открытый конструктор без параметров? Если это не так, вам нужно использовать реализацию IBindingList для предоставления новой строки - например, BindingSource:

    BindingSource bs = new BindingSource();
    bs.DataSource = yourList;
    bs.AddingNew += delegate(object sender, AddingNewEventArgs args)
    {
        args.NewObject = new SomeType(args);
    };
    grid.DataSource = bs;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...