簡體   English   中英

Datagridview ComboBox數據綁定“值無效”

[英]Datagridview ComboBox Databinding “Value is not valid”

我現在嘗試將DataGridViewComboBox綁定到列表上幾個小時。

但是一個

"Value is not valid"-Error-Dialog is everything I get :(

從本地的oracle-test-database,我正在獲取一些數據。 一切正常,但組合框。 我希望組合框在db選擇值中顯示-有時-並讓用戶通過組合框更改該值。

我有一個叫做DtoPerson的類:

internal class DtoPerson
{
    private String _name;
    private Int32 _personRollenId;

    public String Name
    {
        get { return _name; }
        set { _name = value; }
    }

    public Int32 PersonRollenId
    {
        get { return _personRollenId; }
        set { _personRollenId = value; }
    }
}

我在此方法中填寫了DtoPersons列表:

private void CreateList()
    {
        DataRow[] treiberRows = _personTable.Select("ROLLE = '2'", "PERSONNAME ASC", DataViewRowState.CurrentRows);
        _aufbauerListe = new List<DtoPerson>();

        if (treiberRows != null && treiberRows.Length > 0)
        {
            foreach (DataRow row in treiberRows)
            {
                DtoPerson person = new DtoPerson();

                //Füllen der Felder
                person.Name = row["PERSONNAME"].ToString();
                int persoId;
                Int32.TryParse(row["PERSROLLID"].ToString(), out persoId);
                person.PersonRollenIdInt = (persoId > 0) ? persoId : -1;

                _aufbauerListe.Add(person);
            }
        }
    }

加載完所有數據后,我將ComboBox綁定到列表:

(_dgvDb.Columns["AUFBAUER"] as DataGridViewComboBoxColumn).DataSource = DaPerson.Instance.AufbauerListe;
(_dgvDb.Columns["AUFBAUER"] as DataGridViewComboBoxColumn).DisplayMember = "Name";
(_dgvDb.Columns["AUFBAUER"] as DataGridViewComboBoxColumn).ValueMember = "PersonRollenId";
(_dgvDb.Columns["AUFBAUER"] as DataGridViewComboBoxColumn).DataPropertyName = "AUFBAUERID";

現在,每次我選擇一個值,或者應該有一個預先選擇的值時,都會顯示上述錯誤。 我該如何解決?

我真的需要這里的幫助...

同時,我發現了自己的錯誤:

OracleXE將我的值作為Decimal發送,這是我從未聽說過/夢想過的……現在通過將Id-Property更改為

public Decimal PersonRollenId
{
    get { return _personRollenId; }
    set { _personRollenId = value; }
}

一切正常。

可憐的是,DataTables不顯示它們繼承的是哪種類型...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM