0

私は bindingsource を使用しています。問題はAddNew()、バインディング ソースで実行すると、例外Item cannot be added to a read-only or fixed-size list.This form is Dialog. が表示されることです。あなたのレビューのために、私はコードを追加しています

メインフォームコード

private void bindingNavigatorAddNewItem_Click_1(object sender, EventArgs e)
{
    try
    {
        this.Validate();
        _earning = (Earning)this.earningBindingSource.Current;
        string EmpNo = Convert.ToString(_earning.Empno == null || _earning.Empno == string.Empty ? "0" : _earning.Empno);
        Incomes.frmIncomeAddList _earnEmployee = new Incomes.frmIncomeAddList();
        _earnEmployee.ShowDialog();
    }
    catch (Exception ex)
    {
    }
}

これはダイアログフォームコードです

public frmIncomeAddList( )
{
    InitializeComponent();  

    FillCurrency();

    FillDropdown();
    FillEarnCode();
    FillEarnCodeDESC();

    this.earningBindingSource.AddNew();

    this.earningBindingNavigatorSaveItem.Enabled = true;

    FillDropdown(); 
}

ダイアログフォームで this.earningBindingSource.AddNew();例外が発生していますItem cannot be added to a read-only or fixed-size list.

手伝ってくれませんか。前もって感謝します

4

3 に答える 3

1

親テーブルにレコードがなく、子テーブルに新しい行を追加すると、このエラーが表示されます。

Item cannot be added to a read-only or fixed-size list

于 2016-01-22T08:55:48.370 に答える
1

このアプローチを試してください:

List<Earning> earnings = ((IEnumerable<Earning>)earningBindingSource.DataSource).ToList();
earnings.Add(new Earning());
earningBindingSource.DataSource = earnings.AsEnumerable();
于 2015-02-03T12:01:28.283 に答える