Mam następujący kod, który nawet działa i zwraca poprawne wartości tylko nie mogę przypisać kolumny z listy do pola comboboxa. Po uruchomieniu pole jest puste ? W poniższy sposób próbuje dodać zwracaną kolumnę przez zapytanie na kilka opcjonalnych sposobów żaden z nich nie funkcjonuje prawidłowo .
orderElement.SelectedUri = rdr2.GetString(0);
orderElement.OnPropertyChanged(orderElement.SelectedUri);
orderElement.FileUris.Add(orderElement.SelectedUri);
a taki kod jest w comboboxie , dodam że jest umieszczony w datagridzie .
<ComboBox ItemsSource="{Binding Path=FileUris}"
SelectedItem="{Binding Path=SelectedUri, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
a tak wygląda całe zapytanie do bazy .
public static IList<OrderElement> PobierzListeZamowien()
{
MySqlConnection conn = null;
MySqlDataReader rdr = null;
MySqlConnection conn2 = null;
MySqlDataReader rdr2 = null;
OrderElement orderElement = null;
IList<OrderElement> OrderElementsCollection = new ObservableCollection<OrderElement>();
try
{
PolaczenieDB polaczenieDB = new PolaczenieDB();
conn = polaczenieDB.PolaczenieZBazaDanych();
string stm = "SELECT zamowienie.IdZamowienia , zamowienie.kontrahent, zamowienie.towar_zamowiony, zamowienie.kwota_zamowienia, zamowienie.data_zamowienia, zamowienie.ilosc FROM zamowienie";
MySqlCommand cmd = new MySqlCommand(stm, conn);
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
orderElement = new OrderElement();
orderElement.IdZamowienia = rdr.GetInt32(0);
orderElement.Kontrahent = rdr.GetString(1);
orderElement.TowarZamowiony = rdr.GetString(2);
orderElement.KwotaZamowienia = rdr.GetDouble(3);
orderElement.DataZamowienia = Convert.ToString(rdr.GetDateTime(4));
orderElement.Ilosc = rdr.GetInt32(5);
try
{
conn2 = polaczenieDB.PolaczenieZBazaDanych();
string stm2 = "SELECT zamowieniePlik.nazwaPliku, zamowieniePlik.idZamowienia FROM zamowieniePlik WHERE zamowieniePlik.IdZamowienia='" + orderElement.IdZamowienia + "';";
MySqlCommand cmd2 = new MySqlCommand(stm2, conn2);
rdr2 = cmd2.ExecuteReader();
while (rdr2.Read())
{
// orderElement = new OrderElement();
orderElement.SelectedUri = rdr2.GetString(0);
orderElement.OnPropertyChanged(orderElement.SelectedUri);
orderElement.FileUris.Add(orderElement.SelectedUri);
}
}
catch (MySqlException ex)
{
}
OrderElementsCollection.Add(new OrderElement(orderElement));
}
}
catch (MySqlException ex)
{
}
conn.Close();
return OrderElementsCollection;
}