DataBinding - výběr položky dle jiného okna   zodpovězená otázka

VB.NET, WinForms, Databáze

Dobrý den,

lámu si hlavu s tím, jak zařídit, aby se po otevření okna, ve kterém jsou texboxy svázané s tabulkou na MSSQLserveru (přes bindingsource a datasource) a ovládané lištou databindingnavigator, zobrazila jako první ta položka, která má stejné ID jako ID označené v datagrndview s jinou načtenou tabulkou v jiném okně.

ID označené položky v tom datagridview v jiném okně zjistit předpokládám dokážu, ale nedokážu přijít na to, jak říct databindingnavigatoru, že má tuto položku zobrazit jako první.

Pokud bych ošetřil SQL dotaz v metodě fill pomocí where, tak se mi sice zobrazí požadovaná položka, ale už samozřejmě nepujde překlikávat na další položky, protože SQL dotaz předá jen jeden řádek tabulky..

Předem díky za nápady

Jakub

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdravím, já jsem právě řešil totéž a provedl jsem to takto:

Na Form z kterého volám druhý jsem mimo DataGridView vložil ještě TextBox do kterého definuji hodnotu sloupce, podle které se má zobrazit záznam ve druhém Form.

    Private Sub Volajici_DataGridView_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles Volajici_DataGridView.CellMouseClick
        Dim ID As String = Volajici_DataGridView.CurrentRow.Cells("Sloupec_Cislo").Value
        TextBox1.Text = ID
    End Sub

Druhý Form otevírám pomocí Button. Později předělám na DoubleClickMouse.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Otevření Volany_Form
        Volany_Form.Show()

    End Sub

a dále ve druhém Form do loadu vložím:

        Me.Volany_TableAdapter.Fill(Me.DbDataSet.ZAKAZKY)
        'Nastavení DataGridView na příslušný záznam
        Dim ID As Integer = Volany_BindingSource.Find("Sloupec_Cislo", Volajici_Form.TextBox1.Text)
        Me.Volany_BindingSource.Position = ID

Tady mám také DataGridView, ale funguje to i na Form s TextBoxy.

Možná to není zcela profi, ale funguje to.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já si nakonec uvědomil, že mi stačí jen ta jedna položka a databindingnavigator nepotřbuji, takže jsem si udělal novou metodu .fill s klasickým dotazem SELECT. Každopádně na to, co píšete mrknu, určitě se to bude hodit časem...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback