Místo Tag by identifikace jedinečného záznamu mohla být i ve skrytém sloupci datagridview. Někdy stačí rozdělit form na části a editovat místo v v dalším formu v panelu vedle nebo pod datagridview. Nebo přidat splitcontainer, možností bude více, jak form rozdělit... Jen zkusmo, readonly datagriview a dva textboxy vedle pro editaci:
Imports System.Windows.Forms
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dt As DataTable = New DataTable
With dt
.Columns.Add("Jméno")
.Columns.Add("Příjmení")
.Rows.Add("Honza", "Dufek")
.Rows.Add("Pavel", "Dufek")
.Rows.Add("Jan", "Hlávka")
.Rows.Add("Milan", "Dufek")
.Rows.Add("Jan", "Duffon")
.Rows.Add("Pavel", "Hlávka")
.Rows.Add("Ondřej", "Linhart")
.Rows.Add("Mirek", "Linhart")
End With
Dim dgv As DataGridView = New DataGridView
With dgv
.DataSource = dt
.Dock = DockStyle.Fill
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.AllowUserToAddRows = False
.ReadOnly = True
End With
Dim tb1 As TextBox = New TextBox
Dim tb2 As TextBox = New TextBox
tb1.Top = 5
tb2.Top = tb1.Bottom + 5
Dim pnl As Panel = New Panel
With pnl
.Controls.Add(tb1)
.Controls.Add(tb2)
.Width = tb1.Width
End With
tb1.DataBindings.Add("Text", dgv.DataSource, "Jméno")
tb2.DataBindings.Add("Text", dgv.DataSource, "Příjmení")
Me.Controls.Add(dgv)
Me.Controls.Add(pnl)
pnl.Dock = DockStyle.Left
End Sub
End Class
Přesto se také nabízí záznamy upravovat přímo v datagridview bez nutnosti dalšího formu nebo dalších prvků ve formuláři. Záleží dle potřeby, vkusu... Mnoho zdaru!
|