powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Datagrid
1 сообщений из 1, страница 1 из 1
Datagrid
    #38307170
wpf.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
<DataGrid Name="dg_object" SelectionChanged="dg_object_SelectionChanged">
		 <DataGrid.Columns>
				<DataGridTextColumn IsReadOnly="True"  Width="*" Header="Number" Binding="{Binding   Number, Mode=TwoWay,UpdateSourceTrigger= PropertyChanged}"/>
                                <DataGridComboBoxColumn  Width="*" Header="Mark" SelectedValueBinding="{Binding  Mark,Mode= TwoWay,UpdateSourceTrigger=PropertyChanged}" />
		 </DataGrid.Columns>	
</DataGrid>



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
public DataGridList ComboBoxItemsSource = new DataGridList();
public DataGridList dgList = new DataGridList();

private void dg_object_SelectionChanged(object sender,SelectionChangedEventArgs e)
{
          //перед этим заполняем ComboBoxItemsSourceList
          ((DataGridComboBoxColumn) dg_object.Columns[1]).ItemsSource = ComboBoxItemsSource.MyObjectCollection.Select(c => c.Mark);
          dg_object.ItemsSource = dgList.MyObjectCollection;
}


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
public class DataGridList
{	
    public ObservableCollection<MyObject> MyObjectCollection{get;set;}

	public DataGridList()
	{
		MyObjectCollection = new ObservableCollection<MyObject>();
	}
	
}

public class MyObject : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    private void SetProperty<T>(ref T field, T value, string name)
    {
            if (!EqualityComparer<T>.Default.Equals(field, value))
            {
                field = value;
                var handler = PropertyChanged;
                if (handler != null)
                {
                    handler(this, new PropertyChangedEventArgs(name));
                }
            }
    }
	
    private string _mark;
    public string Mark
    {
        get { return _mark; }
        set {SetProperty(ref _mark,value,"Mark");}
    }

    private int _number;
    public int Number
    {
        get { return _number; }
        set {SetProperty(ref _number, value, "Number");}
    }
	
}



Нужно при выборе DataGridComboBoxColumn идти
в ComboBoxItemsSource.MyObjectCollection найти там
такой Mark который выбран в
DataGridComboBoxColumn и отдать
Number (из коллекции ComboBoxItemsSource.MyObjectCollection)который нужно вставить в текущию ячейку
dg_object + чтобы из DataGridComboBoxColumn после выбора этот Number удалялся из ComboBoxItemsSource.MyObjectCollection

1.как это по-нормальному сделать?
2.как узнать текущию ячейку? с dg_object.SelectedIndex не всегда получается это реализовать, есть ли другой способ
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Datagrid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]