Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407

Умножение в DataGrid

08.08.2011, 15:19. Показов 1430. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как это правильно сделать?



VB.NET
1
2
3
4
5
6
7
Private Sub myDataGridView2_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles myDataGridView2.CellContentClick
 
 
"Column4" = "Column2" x "Column3"
Next Row 
 
    End Sub
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.08.2011, 15:19
Ответы с готовыми решениями:

Умножение в datagrid
Доброго времени суток. Возникла необходимость умножить значение каждой строки определенного столбца в датагриде на число из текстбокса, ...

DataGrid: установить фокус на строку DataGrid, а не на сам DataGrid
Добрый день! Есть следующий код: public partial class MainWindow : Window { DataTable dt = new DataTable(); ...

Скалярное умножение векторов(Ассоциативность,Коммутативность,Умножение с пустым знаком)
Помогите проверить операцию "скалярное произведение векторов" на Ассоциативность,Коммутативность и умножение с пустым знаком

8
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
08.08.2011, 16:18
abbat81,
VB.NET
1
2
3
4
5
For i As Integer = 0 To Me.DataGridView1.RowCount - 1
            If IsDBNull(Me.DataGridView1.Item(2, i).Value) = False And IsDBNull(Me.DataGridView1.Item(2, i).Value) = False Then
                Me.DataGridView1.Item(4, i).Value = CDbl(Me.DataGridView1.Item(2, i).Value) * CDbl(Me.DataGridView1.Item(3, i).Value)
            End If
        Next
Здесь на всякий случаю проверяем на пустоту в полях грида, и опять же на всякий пожарный, если не уверены в типе данных в полях, приводим нужному типу значения
1
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
08.08.2011, 16:38  [ТС]
На строке:

VB.NET
1
 If IsDBNull(myDataGridView2.Item(i, 2).Value) = False And IsDBNull(myDataGridView2.Item(i, 3).Value) = False Then

"Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index"

Если снять условие, то возмущается также на:

VB.NET
1
myDataGridView2.Item(i, 4).Value = CDbl(myDataGridView2.Item(i, 2).Value) * CDbl(myDataGridView2.Item(i, 3).Value)
Должен уточнить, что я "Me.DataGridView1" переделал на "myDataGridView2". Просто это действие мне нужно и на баттоне и в других местах.

Добавлено через 1 минуту
Забыл, наверное это ииза того, что в столбце идет значение As Double
0
 Аватар для Юпатов Дмитрий
1721 / 1208 / 228
Регистрация: 23.12.2010
Сообщений: 1,544
08.08.2011, 16:54
надо понимать, что этот код сидит в цикле перебора строк? Либо ты пытаешься поработать со столбцом, которого нет ( индекс столбцов ведь у тебя через i проходит), либо та же картина со строками.
А вообще у тебя в разном месте i фигурирует:
сначала
Цитата Сообщение от gitarillo Посмотреть сообщение
If IsDBNull(Me.DataGridView1.Item(2, i).Value) = False And IsDBNull(Me.DataGridView1.Item(2, i).Value) = False Then
i обозначает итерацию строк
а затем
Цитата Сообщение от abbat81 Посмотреть сообщение
If IsDBNull(myDataGridView2.Item(i, 2).Value) = False And IsDBNull(myDataGridView2.Item(i, 3).Value) = False Then
- столбцов.
Но однозначно это связпано с превышением значения индекса элемента в коллекции (он больше, чем есть в коллекции элементов)
1
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
08.08.2011, 17:03
abbat81, у тебя местами строки со столбцами перепутаны.
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
08.08.2011, 17:25  [ТС]
Вот такая ДатаГрид:



Вот одим вариатном получаю:



А вот вторым:

0
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
08.08.2011, 17:37
Индекс столбцов идет с нуля а не с единицы. у вас 4 столбца. (0, 1, 2, 3). Поэтому


VB.NET
1
myDataGridView2.Item(3, i).Value=..............
a не
VB.NET
1
myDataGridView2.Item(4, i).Value=..............
1
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
08.08.2011, 17:51  [ТС]
Спасибо - заработало
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
09.08.2011, 11:27
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Imports System.Data
 
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dataSet As New DataSet()
        Dim dataTable As New DataTable("table")
        dataTable.Columns.Add("name", Type.GetType("System.String"))
        dataTable.Columns.Add("price", Type.GetType("System.Double"))
        dataTable.Columns.Add("count", Type.GetType("System.Double"))
        dataTable.Columns.Add("sum", Type.GetType("System.Double"), "price*count")
        dataSet.Tables.Add(dataTable)
        Dim grid As New DataGridView()
        Dim bindingSourse As New BindingSource(dataSet, "table")
        grid.DataSource = bindingSourse
        Me.Width = 500
        grid.Width = 400
        Me.Controls.Add(grid)
    End Sub
End Class
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.08.2011, 11:27
Помогаю со студенческими работами здесь

Задано 4 матрицы. Провести сложение, умножение, умножение на число
Задано 4 матрицы A,B,C,D размером 4х4.Вычеслить такие матрицы: F,G,T. G=3/4 A+B F=B*(2D) T=c/5

Класс Квадратная матрица. Методы: умножение на матрицу, умножение на константу, вывод элементов матрицы на дисплей
Задание: Класс «Квадратная матрица». Методы: умножение на матрицу, умножение на константу, вывод элементов матрицы на дисплей. Нужно...

Как зеркально отобразить dataGrid одного окна в dataGrid в другом окне?
Здравствуйте. Столкнулся с проблемой. Не знаю, как отобразить зеркально dataGrid одного окна, в dataGrid другого окна? Возможно ли...

Отображение данных в одном datagrid при клике в другом datagrid
Здравствуйте! Хотел уточнить, как можно реализовать возможность при клике на форме в dataGrid1, чтобы динамически изменялись данные в...

Удалить выбранную строку в DataGrid, если DataGrid содержит коллекцию
Здравствуйте! Скажите пожалуйсто, как удалить выбраную строку в DataGrid, если DataGrid содержит коллекцию. пример выражения: //Метод ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru