Таблица + БД + реестр - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Приветствую всех единомышленников! С наступающим праздником! Помогите в дилемме, сам не могу решиться, а на что решился, не могу победить: Есть: есть в реестре раздел, в нём 30 подразделов с 22-мя одинаковыми ключами. Надо: - на форме отобразить таблицу, в колонках - 30 подразделов, в строках - 22 ключа; - после изменений в таблице значения какого-нибудь ключа, запись в реестр. Для этого, как я понимаю, нужна промежуточная БД. Пробовал и Access и XML и INI и Excel, всё приемлемо. Чтение-запись реестра тоже не вызывает трудностей. А вот с самой таблицей - беда! B VB6 дружил с DataGrid и вроде бы с GridView, т.е. более простыми вариантами таблиц. Там было как то совсем просто - прямое соответствие ячейки таблицы и ячейки БД. Но в VB.NET2010, а думаю и в остальных .NET версиях тоже, без альтернативы: GridView только при разработке WEB-проекта активна, а с DataGrid что то вообще непонятно, т.е. не могу разобраться. DataGridView считаю слишком громоздкой и навороченной (может быть и зря), но вот как в ней организовать сохранение изменений - проблема. Причём не хотелось бы дополнительных окошек типа TextBox'ов, а просто изменение-сохранение, в крайнем случае через кнопку Save. Подскажите, пожалуйста, как лучше решить эту задачку, а ещё лучше с примерами. Ещё раз уточню - проблема с сохранением в БД изменений значений ячеек в таблице + одновременность с сохранением в реестре.
Самый идеальный вариант - 660 тектбоксов с прямой привязкой к соответствующим ключам реестра + 52 лабела но как то не вдохновляет такой вариант...

Решение задачи: «Таблица + БД + реестр»

textual
Листинг программы
  1. Private pthReestr(), nameCol(), namePrp() As String
  2. Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  3.     pthReestr={...} 'подразделы
  4.     nameCol={...} 'сокращения от подразделов
  5.     namePrp={...} 'ключи
  6.     setDGV()
  7. End Sub
  8. Private Sub setDGV()
  9.     With Me.DataGridView1
  10.         .AllowUserToDeleteRows = False
  11.         .AllowUserToAddRows = False
  12.         .AllowUserToOrderColumns = False
  13.         .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
  14.         .SelectionMode = DataGridViewSelectionMode.FullRowSelect
  15.         'заголовки колонок (подразделы)
  16.         For i = 0 To 29
  17.             .Columns.Add(nameCol(i), nameCol(i))
  18.         Next
  19.         'заголовки строк (ключи)
  20.         .RowHeadersWidth = 100
  21.         For i = 0 To 21
  22.             .Rows(i).HeaderCell.Value = namePrp(i)
  23.         Next
  24.         For i = 0 To 29
  25.             For j = 0 To 21
  26.                 .Rows(j).Cells(i).Value = My.Computer.Registry.GetValue(pthReestr(i), namePrp(j), Nothing)
  27.             Next
  28.         Next
  29.     End With
  30. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы