Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Лучше не лучше, но лучше.
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
1

Предыдущая запись foreach DataGridView

21.02.2019, 23:24. Просмотров 762. Ответов 13

Как обратиться к предыдущей записи?

C#
1
 Convert.ToSingle(row.Cells["id_client"].Value)
Добавлено через 1 час 17 минут
В смысле к предыдущей итерации foreach'a
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2019, 23:24
Ответы с готовыми решениями:

Обработка XML. Цикл foreach (XmlNode.) вложенный во внешний foreach
Здравствуйте. Возникла проблема при обработке XML-файла (с помощью XMLDocument). В теме я новичок....

Ошибка в foreach: foreach statement cannot operate on variables of type 'System.Collections.IEnumerator'
using System; using System.Collections; namespace P { class Program { ...

Нужен простой пример из Foreach в Parallel.Foreach
Покажите любой простой пример из Foreach в Parallel.Foreach. Не могу до конца понять.

List.ForEach vs foreach производительность?
Что лучше использовать в плане производительности List.ForEach или foreach(var ... in ...)? C#...

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
13
Эксперт .NET
8848 / 6171 / 1027
Регистрация: 21.01.2016
Сообщений: 23,288
22.02.2019, 06:50 2
BlacKCheT, никак.
0
Лучше не лучше, но лучше.
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
22.02.2019, 09:41  [ТС] 3


Добавлено через 1 минуту
А если так?

C#
1
Convert.ToInt16(dataGridView2.Rows[i - 1].Cells["dataGridViewTextBoxColumn2"].Value)
0
Эксперт .NET
8848 / 6171 / 1027
Регистрация: 21.01.2016
Сообщений: 23,288
22.02.2019, 09:44 4
BlacKCheT, в каком месте тут foreach?
0
Лучше не лучше, но лучше.
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
22.02.2019, 09:47  [ТС] 5
Через For

C#
1
2
3
4
for (int i = 1; i < dataGridView2.Rows.Count; i++)
                {
dataGridView2.Rows[i].Cells["dataGridViewTextBoxColumn4"].Value = Convert.ToInt16(dataGridView2.Rows[i].Cells["dataGridViewTextBoxColumn2"].Value) + Convert.ToInt16(dataGridView2.Rows[i - 1].Cells["dataGridViewTextBoxColumn4"].Value); 
}
Добавлено через 41 секунду
Ну через foreach, я понял что нельзя0)... Это как альтернатива..
0
Эксперт .NET
8848 / 6171 / 1027
Регистрация: 21.01.2016
Сообщений: 23,288
22.02.2019, 09:53 6
BlacKCheT, вообще, решение в корне дерьмовое. Нужно обращаться к источнику данных, который визуализируется DataGridView'ом, а не по его ячейкам бегать.
0
Лучше не лучше, но лучше.
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
22.02.2019, 09:56  [ТС] 7
ну а как тогда? сначала отсортировать, а потом как? я другого решения пока не придумал..

Добавлено через 22 секунды
Костыль, он такой)))
0
Эксперт .NET
8848 / 6171 / 1027
Регистрация: 21.01.2016
Сообщений: 23,288
22.02.2019, 10:00 8
BlacKCheT, данные формируете в виде коллекции нужного типа (часто - List<T>), пихаете в BindingSource.DataSource, этот BindingSource пихаете в DataGridView.DataSource. В дизайнере студии (или руками в коде - как вам удобнее) настраиваете количество и типы колонок). Как только DataGridView увидит в DataSource данные (почти в любом виде), он их визуализирует.

Получается, что вы и данные в удобном для работы виде будете иметь и DataGridView вам их покажет на экране. А так у вас всё в одну кучу слито. Захотите иным образом данные показать и всю свою логику заново переписывать придётся.

Добавлено через 1 минуту
Цитата Сообщение от BlacKCheT Посмотреть сообщение
Костыль, он такой)))
Нет. Костыль - обходное решение некоторой проблемы, которую нормальным способом не решить. Вы же сделали первым попавшимся образом. Даже не поискав корректного решения.
0
Лучше не лучше, но лучше.
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
22.02.2019, 10:10  [ТС] 9
У меня есть коллекция в виде List<T>, с помощью нее делаю обновление данных..

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        public static List<IssBooks> IssBooksRepository = new List<IssBooks>();
 
        public static IEnumerable<IssBooks> GetIssBooks()
        {
            return IssBooksRepository;
        }
 
        public static void AddIssBooks(IssBooks item)
        {
            IssBooksRepository.Add(item);
        }
 
        public static IssBooks GetIssBooks(int id)
        {
            return IssBooksRepository.Where(x => x.ID == id).First();
        }
0
Эксперт .NET
8848 / 6171 / 1027
Регистрация: 21.01.2016
Сообщений: 23,288
22.02.2019, 10:11 10
BlacKCheT, ну вот. Осталось только научиться "привязывать" DataGridView в этой коллекции.
0
Лучше не лучше, но лучше.
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
22.02.2019, 10:13  [ТС] 11
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    class IssBooks
    {
        public int ID { get; set; }
        public int id_book { get; set; }
        public int id_client { get; set; }
        public int bonus { get; set; }
        public string d_of_iss { get; set; }
        public string d_of_ret { get; set; }
        public string d_of_penalty { get; set; }
        public string penalty { get; set; }
        public string fine { get; set; }
        public string book_val { get; set; }
        public string summ { get; set; }
        public int is_book_ret { get; set; }
    }
Добавлено через 1 минуту
C#
1
2
3
4
5
6
        public Form12()
        {
            InitializeComponent();
            DBUtil.ReadIssBooks();
            dataGridView1.DataSource = Data.GetIssBooks();
        }
0
Эксперт .NET
8848 / 6171 / 1027
Регистрация: 21.01.2016
Сообщений: 23,288
22.02.2019, 10:16 12
BlacKCheT, можно и так. Хотя лучше с применением BindingSource.
0
Лучше не лучше, но лучше.
16 / 14 / 3
Регистрация: 11.03.2018
Сообщений: 422
22.02.2019, 10:25  [ТС] 13
Окей, так это проблемы не решает))) со скидками
0
Эксперт .NET
8848 / 6171 / 1027
Регистрация: 21.01.2016
Сообщений: 23,288
22.02.2019, 10:44 14
Цитата Сообщение от BlacKCheT Посмотреть сообщение
Окей, так это проблемы не решает))) со скидками
Обсуждаемое тут вообще ортогонально скидкам и проблемам с этим связанным. Это вопрос архитектуры.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2019, 10:44

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Предыдущая версия файла
Можно ли как-то программно, с помощью C#, посмотреть, есть ли предыдущая версия файла/папки? И...

Построчная запись в файл из DataGridView
Добрый день. Пишу код с помощью с#. Программа должна вписывать в файл определенный текст. Вот мой...

Кнопка следующая запись, предыдущая запись---какие коды
Подскажите пожалуйста коды на кнопки, выполняющие функции &quot;следующая запись, предыдущая запись&quot;, по...

Предыдущая запись как значение по умолчанию
Удивительно, но поиском не смог найти, хотя должно быть не первый спрашиваю... Как в форме вида...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.