SelectedValue konvertálása integer-é, de kivételt dob

SelectedValue konvertálása integer-é, de kivételt dob
2015-03-26T14:52:31+01:00
2015-03-26T15:17:57+01:00
2022-10-15T22:21:27+02:00
BIG W
Sziasztok!

(WPF)
Van egy olyan problémám, hogy van egy combobox-om amit feltöltök adatbázisban lévő adatokkal. Két oszlop van az adatbázisban: ID, Típus

Ezeket használom DisplayMember (Típus)-ként, és SelectedValue (ID)-ként.

Majd hozzárendelek egy saját függvényt, ami DataView értékkel tér vissza.

A Típus nevű ComboBox-ot használva olyan hibába futottam bele, ami más elemnél nem fordul elő, ez pedig a címben van. Amikor a SelectedValue-t adom át, akkor Debuggoláskor DataRowView értéket ad át, és azt próbálja átkonvertálni számmá, és itt megállt a tudományom, mert eddig minden elemmel működött, csak ezzel valamiért nem.

A kivétel:

Az objektum nem konvertálható "System.Data.DataRowView" típusról "System.IConvertible" típusra.

A forráskódom egy része:

XAML:

<ComboBox Name="dokumentumtipus_cbx2" Cursor="Hand" FontSize="10" Grid.Column="1" Grid.Row="1" ItemsSource="{Binding}" Margin="5" VerticalContentAlignment="Center"/>
C#:

dokumentumtipus_cbx2.SelectedValue = "ID"; dokumentumtipus_cbx2.DisplayMemberPath = "Tipus"; dokumentumtipus_cbx2.ItemsSource = SQL.Admin_GetDokumentumTipus();
A hozzátartozó függvény:

internal DataView Admin_GetDokumentumTipus() { DataTable GetDokumentumTipusRogziteshezTabla = new DataTable(); try { kapcsolat.Open(); using (SqlCommand Admin_GetDokumentumTipusParancs = new SqlCommand("Admin_GetDokumentumTipus",kapcsolat)) { Admin_GetDokumentumTipusParancs.CommandType = CommandType.StoredProcedure; GetDokumentumTipusRogziteshezTabla.Load(Admin_GetDokumentumTipusParancs.ExecuteReader()); } kapcsolat.Close(); } catch (SqlException ex) { MessageBox.Show(ex.Message, "HIBA!", MessageBoxButton.OK, MessageBoxImage.Error); } finally { kapcsolat.Close(); } return GetDokumentumTipusRogziteshezTabla.DefaultView; }
SQL Tárolt eljárás az Admin_GetDokumentumTipus-ra:

SELECT NULL as ID, 'Összes típus' as Tipus UNION ALL SELECT ID, Tipus FROM DokumentumTipus
És ahol elakad a program, ami a fenti hibaüzetet hozza:

SQL.MentettDokumentumok(Convert.ToInt32(cegnev_cbx2.SelectedValue), Convert.ToInt32(dokumentumtipus_cbx2.SelectedValue) /*<-itt!*/, Convert.ToInt32(kategoria_cbx2.SelectedValue), Convert.ToDateTime(datumtol_dp.SelectedDate.Value.ToLongDateString()), Convert.ToDateTime(datumig_dp.SelectedDate.Value.ToLongDateString()), vonalkodtol_tbx2.Text, vonalkodig_tbx2.Text, Convert.ToInt32(dobozszam_cbx2.SelectedValue), 0, 0);
Kérdésem, hogy mi okozza azt, hogy a SelectedValue DataRowView értéket kap?

Üdv,
W.
Mutasd a teljes hozzászólást!
Meglett a hiba.
Ezt:

dokumentumtipus_cbx2.SelectedValue = "ID";
Erre kellett átírni:

dokumentumtipus_cbx2.SelectedValuePath = "ID";
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd