Diskuze: c# datagridview checkbox ctrl + select
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
odpovedám v tomto novom vlákne,
je to jednoduché, najskôr musíš mať nastavené na gride, SelectionMode = CellSelect a MultiSelect = True, to kľudne nastav vo vlastnostiach a pri kontrole čo je označené použi cyklus
neviem aký používaš jazyk, toto je vo VB.Net ale do C# to bude jednoduché preložiť
For i = 0 To g1.RowCount - 1
For j = 0 To g1.ColumnCount - 1
If g1.Rows(i).Cells(j).Selected = True Then
txtTest1.Text &= g1.Rows(i).Cells(j).Value
End If
Next
Next
Ahoj, já to právě potřebuji tak, že kliknu kdekoliv na řádku a při označení pomocí klávesy CTRL, tak se na nějakou událost ten konkrétní řádek v checkboxu znační či zruší. Jinak to řeším spíše taky ve VB. NET, ale raději jsem to napsal do c#, kde snad budou lidi, kteří mi budou schopni poradit .
Prepáč nejako nerozumiem otázke
toto je kód na označenie/odznačenie keď klikneš kdekoľvek na riadok
Private Sub g1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles g1.CellClick
If g1.Rows(e.RowIndex).Cells(index stlpca).Value = True Then
g1.Rows(e.RowIndex).Cells(index stlpca).Value = False
Else
g1.Rows(e.RowIndex).Cells(index stlpca).Value = True
End If
End Sub
No něco takového potřebuji, ale trochu více potřebuji, abych to označil či odznačil pokud držím klávesu CTRL a klikám na řádky. To co píšeš mi to označí i bez držení klávesy CTRL ne? Já to potřebuji právě nastvait na to, že držím klávesu CTRL.
tak to bude trocha zložitejšie,
najskôr povoľ na okne vlastnosť KeyPreview = true
potom v kóde
Dim stlacene_CTRL As Boolean = False 'pomocna premenna ktora nam povie ci je stlacene ctrl
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.Modifiers = Keys.Control Then 'ctrl je stlacene
stlacene_CTRL = True
End If
End Sub
Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
stlacene_CTRL = False 'ctrl bolo uvolnene
End Sub
Private Sub g1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles g1.CellClick
If stlacene_CTRL = False Then Exit Sub 'ak nieje stlacene tak to nerob
If g1.Rows(e.RowIndex).Cells(10).Value = True Then
g1.Rows(e.RowIndex).Cells(10).Value = False
Else
g1.Rows(e.RowIndex).Cells(10).Value = True
End If
End Sub
Aj nabudúce
keby som si poriadne prečítal prvú otázku tak by to bolo rýchlejšie
Zobrazeno 8 zpráv z 8.