Не может сохранить значение выпадающего списка, которое изменилось в сетке данных
У меня есть сетка данных, в ней есть столбец со списком, для привязки я связал его со списком. когда я запускаю свое приложение, когда я изменяю значение в выпадающем списке, оно изменяется правильно, пока у меня нет проблем, но когда я выбираю другую строку, значение, которое было изменено при сбросе выпадающего списка, и кажется, что оно никогда не изменялось!!! что мне нужно сделать?
в xaml:
<DataGrid HorizontalAlignment="Left" CanUserAddRows="True" Height="161" Margin="162,370,0,0" VerticalAlignment="Top" Width="558" Name="da" SelectionChanged="da_SelectionChanged" IsReadOnly="False" IsHitTestVisible="True" AutoGenerateColumns="False" ItemsSource="{Binding DataCollection,Mode=TwoWay}">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Ref OSS2" MinWidth="100" x:Name="CMBXREF" IsReadOnly="False" CanUserReorder="True">
</DataGridComboBoxColumn>
<DataGridTextColumn Header="IP" IsReadOnly="False" Binding="{Binding Path=IP}" MinWidth="100"/>
<DataGridTextColumn Header="Ref OSS" IsReadOnly="True" Binding="{Binding Path=REF_OSS}" MinWidth="100"/>
<DataGridTextColumn Header="Name" IsReadOnly="False" Binding="{Binding Path=NAME}" MinWidth="100"/>
<DataGridTextColumn Header="Quntity" IsReadOnly="False" Binding="{Binding Path=QUNTITY}"/>
<DataGridTextColumn Header="Comments" IsReadOnly="False" Binding="{Binding Path=COMMENT}" MinWidth="100"/>
</DataGrid.Columns>
</DataGrid>
и я привязал это так:
List<string> AllElements = new List<string>();
List<Ordii> ordi = new List<Ordii>();
DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
Ordii o = new Ordii();
o.LstRef = new List<string>();
if (CngCMBX.SelectedIndex > -1)
{
string filePath0 = "ali.csv";
StreamReader monStreamReader0 = new StreamReader(filePath0);
string ligne0 = monStreamReader0.ReadLine();
while (ligne0 != null)
{
string[] temp0 = ligne0.Split(';');
if (temp0[6] != null && temp0[1] != "")
{
string[] temp = CngCMBX.SelectedItem.ToString().Split(';');
if (temp0[5] == temp[0] && temp0[6].Remove(10) == temp[1])
{
o = new Ordii("192.168.98.1", "Name: " + temp0[0], "Prepro", "1", "");
ordi.Add(o);
AllElements.Add(temp0[0]);
}
}
ligne0 = monStreamReader0.ReadLine();
}
monStreamReader0.Close();
}
else
System.Windows.MessageBox.Show("First please select your Congress");
CMBXREF.ItemsSource = AllElements;
da.ItemsSource = ordi;
... и у меня есть этот класс:
public class Ordii
{
public string Ip;
public string Ref_OSS;
public string Name;
public string Quntity;
public string Comments;
public List<string> LstRef;
public string IP { get { return this.Ip; } set { Ip = value; } }
public string REF_OSS { get { return this.Ref_OSS; } set { Ref_OSS = value; } }
public string NAME { get { return this.Name; } set { Name = value; } }
public string QUNTITY { get { return this.Quntity; } set { Quntity = value; } }
public string COMMENT { get { return this.Comments; } set { Comments = value; } }
public List<string> LSTREF { get { return this.LstRef; } set { LstRef = value; } }
public Ordii(string a, string b, string c, string d, string e)
{ this.Ip = a; this.Ref_OSS = b; this.Name = c; this.Quntity = d; this.Comments = e; }
public Ordii() { this.LstRef = new List<string>(); }
}
Пожалуйста, помогите мне, TNX..