Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
packhomov
1 / 1 / 1
Регистрация: 12.06.2013
Сообщений: 14
1

Получение строкового значения текущей ячейки

12.06.2013, 08:13. Просмотров 890. Ответов 4
Метки нет (Все метки)

Возможно, проблема пустяковая и многим знакома, но я столкнулся с ней впервые и не знаю как решить.
Есть процедура, обрабатывает событие начала редактирования значения ячейки в нескольких DataGridView, код:

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Sub DataGridView1_2_3_4_6_CellBeginEdit(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.CellBeginEdit, DataGridView4.CellBeginEdit, DataGridView3.CellBeginEdit, DataGridView2.CellBeginEdit, DataGridView6.CellBeginEdit
 
        If DataGridView1.Focus = True Then
            Dim strCurrentValue As String = DataGridView1.CurrentCell.Value.ToString
        ElseIf DataGridView2.Focus = True Then
            Dim strCurrentValue As String = DataGridView2.CurrentCell.Value.ToString
        ElseIf DataGridView3.Focus = True Then
            Dim strCurrentValue As String = DataGridView3.CurrentCell.Value.ToString
        ElseIf DataGridView4.Focus = True Then
            Dim strCurrentValue As String = DataGridView4.CurrentCell.Value.ToString
        ElseIf DataGridView6.Focus = True Then
            Dim strCurrentValue As String = DataGridView6.CurrentCell.Value.ToString
        End If
 
    End Sub
Блок с If выполняется корректно и определяет, из какого именно Grid нужно вытащить значение, а вот переменной strCurrentValue значение не присваивается, она так и остается Nothing.

Прошу совета.

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

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 08:13
Ответы с готовыми решениями:

Получение значения из ячейки DataGridView
Есть DataGrid с двумя колонками и строками заполненными координатами, как программно перенести...

Получение значения ячейки DataGridView до ее изменения
В программе в DataGridView применяется метод DataGridView.CellValueChanged, который позволяет...

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

Получение содержимого ячейки DataGridView при клике на ней
При нажатии на ячейку в DataGridView в другом PictureBox выводила кортику об этой ячейки

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

4
Павлик Морозов
118 / 120 / 39
Регистрация: 26.10.2012
Сообщений: 408
Завершенные тесты: 1
12.06.2013, 08:50 2
Почитай эту статью: MSDN Library
Переменную лучше присваивать событием CellEndEdit
0
packhomov
1 / 1 / 1
Регистрация: 12.06.2013
Сообщений: 14
12.06.2013, 09:08  [ТС] 3
Благодарю, статью прочел. Но дело в том, что текущая задача требует получения информации, хранящейся в ячейке DataGridView до того, как пользователь эту информацию изменил.

Я просто не могу понять, почему переменной strCurrentValue не присваивается значение DataGridView1.CurrentCell.Value.ToString (хотя при трассировке видно, что DataGridView1.CurrentCell.Value.ToString = стринговому значению и содержит фразу, находящуюся в ячейке).

Я уверен, что просто какого-то факта не знаю, поэтому значение получить не выходит.
0
Павлик Морозов
118 / 120 / 39
Регистрация: 26.10.2012
Сообщений: 408
Завершенные тесты: 1
12.06.2013, 11:21 4
packhomov, с статье написано, что надо для currentcell сначала задать это свойство. Т.е. программно указать координаты этой ячейки.
0
packhomov
1 / 1 / 1
Регистрация: 12.06.2013
Сообщений: 14
12.06.2013, 14:48  [ТС] 5
К сожалению, явное указание координат CurrentCell не помогло.

Однако я решил проблему созданием одномерного массива и добавлением в первый его элемент нужного значения - работает без проблем, код теперь выглядит так:

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    Public Sub DataGridView1_2_3_4_6_CellBeginEdit(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.CellBeginEdit, DataGridView4.CellBeginEdit, DataGridView3.CellBeginEdit, DataGridView2.CellBeginEdit, DataGridView6.CellBeginEdit
 
        Dim arrCurrentValue(0) As String
 
        If DataGridView1.Focus = True Then
            arrCurrentValue(0) = DataGridView1.CurrentCell.Value.ToString
        ElseIf DataGridView2.Focus = True Then
            arrCurrentValue(0) = DataGridView2.CurrentCell.Value.ToString
        ElseIf DataGridView3.Focus = True Then
            arrCurrentValue(0) = DataGridView3.CurrentCell.Value.ToString
        ElseIf DataGridView4.Focus = True Then
            arrCurrentValue(0) = DataGridView4.CurrentCell.Value.ToString
        ElseIf DataGridView6.Focus = True Then
            arrCurrentValue(0) = DataGridView6.CurrentCell.Value.ToString
        End If
 
    End Sub
Почему значение не присваивается переменной - загадка. Если кто-то сталкивался с подобным и знает как обойти, пожалуйста, напишите.

Павлик Морозов, в любом случае благодарю за помощь
0
12.06.2013, 14:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2013, 14:48

DataGridView копирование значения ячейки при условии
Всем привет! =) Необходимо замутить такую фишку:если в DataGridView4 в первом столбце он находит...

Получение значения типа Double из TextBox
Здравствуйте. Подскажите пожалуйста, как правильно преобразовать данные из TextBox в тип Double?...

Получение значения переменной из библиотеки (DLL)
Всем здравия! Есть библиотека в ней Объект UserControl, для визуализации, В ней код: Imports...


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

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

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