Получить выбранную запись из datagrid wpf? - PullRequest
0 голосов
/ 12 апреля 2011

У меня есть таблица на картинке. Согласно флажку почтового поля, если флажок установлен, я записываю в файл и удаляю эти записи из своей базы данных. если его непроверенные записи останутся в моей базе данных. Проблема, когда я тогда пытаюсь получить доступ к этим записям, я получаю исключение (не могу найти этот объект), потому что я пытаюсь получить доступ с datagrid. индекс. Есть ли способ получить индекс записи? Я получил автоматический индекс, увеличенный на 1 в качестве уникального идентификатора для каждой записи.

enter image description here

Заранее спасибо

1 Ответ

0 голосов
/ 12 апреля 2011

если вы используете модель представления или что-то еще, вы можете просто использовать команду и выбранную сетку данных в качестве параметра команды.в вашей команде вы можете легко получить доступ к вашим подчеркивающим данным, проверить свойство «Post» и записать файл, а также удалить строку из вашей коллекции.

<Buttons Command="{Binding WriteCommand}" CommandParameter="{Binding ElementName=MyDataGridCtrl, Path=SelectedItem}" />

, если у вас есть DataTable в качестве источника данных, который может посмотреть ваша командакак следующий

 private DelegateCommand<DataRowView> _writeCommand ;
 public ICommand WriteCommand
    {
        get
        {
            return this._writeCommand ??
                   (this._writeCommand = new DelegateCommand<DataRowView>(this.WriteCommandExecute, this.CanWriteCommandExecute));
        }
    }

 private bool CanEditDataCommandExecute(DataRowView rowToWrite)
    {
        return rowToWrite!= null && (bool)rowToWrite["Post"];//if post is a bool
    }

  private void EditDataCommandExecute(DataRowView rowToWrite)
    {
        if (!this.CanEditDataCommandExecute(rowToWrite))
            return;

        //do your stuff here
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...