2015-05-14 3 views
0

У меня есть установка datagrid прямо сейчас, и она заполнена списком объектов класса. Мне нужно иметь возможность щелкнуть отдельные ячейки данных, отредактировать число и нажать кнопку отправки, которая сохранит изменение данных в соответствующем месте.Ссылка на данные в ячейках в datagrid?

Прямо сейчас я не знаю, как получить строку из datagrid. Я попытался найти решение и не смог найти ничего, что объясняло бы его. Заранее спасибо.!

+0

Возможный дубликат [Как читать значение из ячейки из WPF DataGrid?] (Http://stackoverflow.com/questions/5549321/how-to-read-value-from-a-cell-from-a -wpf-DataGrid) – DrewJordan

ответ

2

Создать класс:

public class MyDetails 
    { 
     private string firstName; 
     public string FirstName 
     { 
      get { return firstName; } 
      set 
      { 
       firstName = value; 
       OnPropertyChange("FirstName"); 
      } 
     } 

     private string lastName; 
     public string LastName 
     { 
      get { return lastName; } 
      set 
      { 
       lastName = value; 
       OnPropertyChange("LastName"); 
      } 
     } 
    } 

Теперь создать коллекцию, в которой вы будете добавлять данные в свой класс ViewModel, как показано ниже:

private ObservableCollection<MyDetails> myCollection; 

    public ObservableCollection<MyDetails> MyCollection 
    { 
     get { return myCollection; } 
     set { myCollection = value; } 
    } 

Теперь, добавить данные в выше коллекции так, данные будут отражаются в сетке.

Теперь Перейти к .xaml файл и записать создать сетку данных, как показано ниже:

Сделать столбец в DataGrid к UpdateSourceTrigger=LostFocus и Mode=TwoWay, как показано ниже:

<Grid> 
     <StackPanel> 
      <DataGrid HeadersVisibility="None" ColumnWidth="*" ItemsSource="{Binding MyCollection}"> 
       <DataGrid.Columns> 
        <DataGridTextColumn Header="First Name" Binding="{Binding FirstName, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"/> 
        <DataGridTextColumn Header="Last Name" Binding="{Binding LastName, Mode=TwoWay, UpdateSourceTrigger=LostFocus}" /> 
       </DataGrid.Columns> 
      </DataGrid> 
     </StackPanel> 
    </Grid> 

Add, ваша кнопка .xaml привязать его для управления и записи метода для сохранения данных в viewModel.

Смежные вопросы