Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
90 / 71 / 24
Регистрация: 18.02.2016
Сообщений: 738
1

Выделение новой строки в DataGridView

27.11.2018, 19:14. Показов 1351. Ответов 4

Author24 — интернет-сервис помощи студентам
Данные в DataGridView берутся из ms sql, обновляются sql брокером, путем заполнения DataGridView заново
Новые данные добавляются из другой формы

Вопрос - как выделять новые строки, к примеру красным, а чтоб при нажатии выделение пропадало (типо просмотрено)?

Сделал в основной таблице столбец проверки - внутри либо "Try" либо "False"
При заполнении DataGridView он скрывается. Если Try то строка закрашивается красным, если False то нет.
Нажимая на строку идет "убдейт" нажатой строки и Try меняется на False , таблица строиться заново и эта строка уже не выделена. Не удобна тем, что перескакивает select абы куда, а при принудительном selecte строки после обновления - отваливается брокер и перестает обновлять таблицу при добавлении.
Может у кого есть идеи как можно сделать не через 1 место?


Буду рад любым идеям, заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2018, 19:14
Ответы с готовыми решениями:

Добавление новой строки в DatagridView
Имеется DataGridView, связанная с источником данных. Как положено, последняя строка сетки - пустая....

Добавление новой строки в DatagridView
День добрый. Была уже такая тема от Zaharius, однако повис в воздухе такой вопрос: И вопрос...

Событие добавления новой строки в DataGridView
Здравствуйте, не подскажите в datagrid заношу данные вручную, а как чтобы при добавлении новой...

DataGridView - выделение строки и ячейки
Как в DataGridView организовать выделение строки и ячейки одновременно

4
258 / 199 / 49
Регистрация: 18.12.2015
Сообщений: 416
27.11.2018, 20:38 2
onimor, приведите ваш код, а то про try не совсем понятно описано.
А если просто рассматривать ваш вопрос
Цитата Сообщение от onimor Посмотреть сообщение
как выделять новые строки, к примеру красным, а чтоб при нажатии выделение пропадало (типо просмотрено)?
то в голову приходит таблица в базе, куда будут заноситься параметры выводимой строки, например ID, и булевая переменная типа Bit - кликнул на строку, в таблицу записалось ID строки и True.
0
90 / 71 / 24
Регистрация: 18.02.2016
Сообщений: 738
28.11.2018, 08:21  [ТС] 3
Цитата Сообщение от Jungl Посмотреть сообщение
приведите ваш код, а то про try не совсем понятно описано.
Записываются данные
Кликните здесь для просмотра всего текста
VB.NET
1
2
3
4
5
6
7
8
9
   Dim cmd_srt As String = "INSERT INTO CMC (Дата,Время,Наименование,[Автоматы/линии],prov)" + "VALUES (@Дата,@Время,@Наименование,@Автоматылиниию,@Prov)"
 
        Dim cmd As New SqlCommand(cmd_srt, conn)
 
        cmd.Parameters.AddWithValue("@Дата", data.ToString)
        cmd.Parameters.AddWithValue("@Время", time.ToString)
        cmd.Parameters.AddWithValue("@Наименование", ComboBox2.Text)
        cmd.Parameters.AddWithValue("@prov", "try")
        cmd.Parameters.AddWithValue("@Автоматылинии", "")


вот prov = try
и когда он равен тру при построении DataGridView проверяется этот столбец и если значение Try то строка закрашивается красным


Далее идет обработка нажатия на DataGridView и при нажатии на строки идет UPDATE таблицы - try меняется на false. идет обновление DataGridView , так как уже не try то красным строка больше не выделяется

При этом из-за обновления выделение строки пропадает (не закрашивание , а select)
и если принудительно выставить seletct на строку, которая была выделена до этого
то
Кликните здесь для просмотра всего текста
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  Try
                Dim info As SqlNotificationInfo = args.Info
 
 
                If SqlNotificationInfo.Insert.Equals(info) Or SqlNotificationInfo.Update.Equals(info) Or SqlNotificationInfo.Delete.Equals(info) Then
                    changeCount += 1
                    Invoke(Sub()
                               ' Label1.Text = changeCount & " changes have occurred."
                               Obnov(Nothing, Nothing)
 
 
                               start()
 
 
                           End Sub)
                End If
                ExecuteWatchingQuery()
            Catch ex As Exception
                MsgBox(ex.StackTrace)
            End Try

брокер ругается и перестает обновлять таблицу
а ругается на эту строку
VB.NET
1
    Invoke(Sub()
Добавлено через 2 минуты
что- то про dubl вываливается и указывает на эту строку

Добавлено через 37 секунд
по этому мне кажется , что это не очень умный способ. может у вас есть идеи как это сделать?

Добавлено через 11 часов 22 минуты
Видимо других вариантов нет
0
90 / 71 / 24
Регистрация: 18.02.2016
Сообщений: 738
28.11.2018, 09:45  [ТС] 4
Цитата Сообщение от onimor Посмотреть сообщение
брокер ругается и перестает обновлять таблицу
не особо понимаю что это значит, может ее можно исправить и оставить закрашивание в таком виде?
кто нибудь знает в чем беда?
Кликните здесь для просмотра всего текста
Выделение новой строки в DataGridView
0
90 / 71 / 24
Регистрация: 18.02.2016
Сообщений: 738
28.11.2018, 19:03  [ТС] 5
забейте вообщем.
каким то магическим образом , с помощью великого бубна заработало и ошибки пока не валяться горой

Но если кто-то придумает другой способ буду рад идеям
0
28.11.2018, 19:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2018, 19:03
Помогаю со студенческими работами здесь

Выделение строки в DataGridView и прокрутка к ней
Имеется много строк, одну из них я выделяю программно: DataGridView1.Rows(n).Selected = true Как...

Добавление новой строки в конец DataGridView после сортировки
Всем привет, такой вопрос - сделал в Гриде таблицу, добавляю записи как положено через источник...

DataGridView выделение строки не срабатывает с первого раза
Здравствуйте! Проблема такая: нужно выделить текущую ячейку. Private Sub...

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

Условие в DataGridView появление новой строки
Привет делаю обновление грида каждую секунду если в базу заносится новая строка она появляется....

Datagridview выделение последней строки
Как сделать чтобы при запуске была выделенна последння строка datagridview.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru