Omlouvám se, toto vlákno patří samozřejmě do Visual Basicu. Nevšiml jsem si že jsem v sekci .net
Příspěvky odeslané z IP adresy 194.228.18.–
Ahoj, mám aplikaci ve VB 2005 která načítá data z SQL serveru do DataGridViewu a potřebovoval bych poradit, jak udělat aby když si uživatel seřadí sloupce například podle data vzestupně a znovu je načte, aby si aplikace pamatovala jak byla řazená a zase je tak seřadila. V jiném dataGridViewu v té samé aplikaci to funguje ale tady na to ne a ne přijít. Porovnával jsem vlastnosi obou datagridViewů a nenašel jsem žádné rozdíly:(
Ahoj, řešil jsem podobný problém. Něco jsem spáchal, jen nevim jestli by mě za to zkušený programátor neukamenoval ale funguje to (viz kod níže). :)
Jen 2 upozornění. Je to psáno ve VB 2005 a ne ve VB net.
A za druhé vyhledávaný řetězec hledám pouze ve druhém sloupci. Pokud potřebuješ hledat v celém datagridviewu řešil bych to tak, že bych číslo sloupce dal taky jako proměnnou a vždycky když by vyhledávání dojelo na poslední řádek proměnná by se zvýšila o jednu, takže by hledal v dalším sloupci.
Sub najdiVS()
Dim hledanyVS As String
Dim VS As String
Dim i As Integer
Dim pocetRadku As Integer
Dim zprava As String
hledanyVS = InputBox("Zadejte vyhledávaný VS", "Najít VS", "Zadejte VS")
If hledanyVS = "" Then Exit Sub
pocetRadku = frmAplikace.dataGridView1.RowCount
pocetRadku = pocetRadku - 1
i = -1
cykl:
i = i + 1
If i > pocetRadku Then zprava = MsgBox("Hledaný VS nenalezen.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "VS nenalezen") : Exit Sub
VS = frmAplikace.dataGridView1.Rows(i).Cells(2).Value().ToString
If hledanyVS = VS Then frmAplikace.dataGridView1.CurrentCell = frmAplikace.dataGridView1.Rows(i).Cells(2) : Exit Sub
If hledanyVS <> VS Then GoTo cykl
End Sub