C # Получить удаленные элементы и измененные элементы в список - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть вопрос, чтобы получить все удаленные элементы в новый список, а также для измененных элементов.Я использую DataGridView с сортируемым связующим источником.Для всех новинок это уже работает (последняя часть кода)

Спасибо!

namespace Levelapp
{
    public partial class LevelView : Form
    {
        FilterLevel m_filterLevel;
        int m_filterLevelTotal;

        public LevelView()
        {
            InitializeComponent();
        }

        public LevelView(FilterLevel opt)
        {
            InitializeComponent();

            m_filterLevel = opt;

            bindingSource1.DataSource = typeof(LevelResource);
            dataGridView1.DataSource = bindingSource1;            
            bindingSource1.DataSource = m_filterLevel.FoundLevels;

            m_filterLevelTotal = bindingSource1.Count;

        }

        private void newSheet_Click(object sender, EventArgs e)
        {
            string newItemName = "Sheet" + " " + "1";
            string newItemNumber = "A-00";

            LevelResource newItem = new LevelResource();
            newItem.Name = newItemName;
            newItem.Number = newItemNumber;

            bindingSource1.Add(newItem);
        }

        private void deleteSheet_Click(object sender, EventArgs e)
        {
            bindingSource1.RemoveCurrent();
        }

        private void ok_Click(object sender, EventArgs e)
        {
            for (int i = m_filterLevelTotal; i < bindingSource1.Count; i++)
            {
                bindingSource1.Position = i;
                LevelResource newSheet = bindingSource1.Current as LevelResource;             
            }
        }
    }
}

Спасибо за быстрый ответ.Но я получаю сообщение об ошибке в строке результата bool.Этот код будет использоваться в Revit.Ниже приведено описание того, как разместить ваш код под кнопкой deleteSheet

private void deleteSheet_Click(object sender, EventArgs e)
{

    for (int i = 0; i < bindingSource1.Count; i++)
    {
        bindingSource1.Position = i;
        var view = bindingSource1.Current as DataRowView;
        bool result = view.Row.RowState == DataRowState.Added || view.Row.RowState == DataRowState.Unchanged;
        if (result)
        {
            // new or didn't modified, work as normal

        }
        else
        {
            // add to another list
        }
    }            
}

Revit Error

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