Пример #1
0
        /// <summary>Dodaje element do ListView.</summary>
        /// <param name="elem">Element do dodania.</param>
        /// <remarks>Nie dodaje wpisu, jeśli istnieje identyczny.</remarks>
        private void AddToListView(Expense elem)
        {
            Func<object, object> filter = i => (i as ListViewItem).GetExpense() == elem ? elem : null;
            object o = this.listView.Items.GetItem(filter);

            //jesli w kolekcji elem juz jest
            if(o != null)
                return;

            string[] list = new string[4]
                {
                elem.date.ToString("dd-MM-yyyy"),
                elem.value.ToString("#,##0.00zł;-#,##0.00zł;0.00zł"),
                elem.category,
                elem.description
                };

            ListViewItem item = new ListViewItem(list);
            item.SetExpense(elem);

            int index;
            for(index = 0; index < this.listView.Items.Count; index++)
            {
                ListViewItem i = this.listView.Items[index];
                if(i.GetExpense().date.CompareTo(item.GetExpense().date) > 0)
                    break;
            }

            this.listView.Items.Insert(index, item);
        }