DATAGRIDVIEW v VS2008   zodpovězená otázka

VB.NET, ADO.NET, WinForms, Databáze

Zdarec,

Tak bych potřeboval pomoci. Ve starém VB6 jsem bez problému naplnil Datagrid přes ADO.NET a potom pomoci vlastnosti Columns(index) jsme mohl přenést hodnoty z Datagridu do Labelu nebo textového pole podle potřeby. Stejný zápis v VS2008 nefunguje (tak trochu jsem s tím počítal).

Zkouším, co se dá, ale opravdu nevím jak. Potřebuji provést následující jednoduchou věc.

po načtení DATAGRIDu si uživatel klikne na řádek, který chce zobrazit a tento řádek se mu přenese do formuláře pro DATAGRIDem. Nemohu přijít na to jak "vyzobat" jednotlivé buňky DATAGRIDu do formuláře tam kam patří.

Mužete mě prosím pomoci.

Petr

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

Píšu z hlavy, takže nevím, ale pokud mě paměť nešálí, je to takto:

DataGridView1.Rows(číslo řádku).Cells(číslo sloupce)

Čísla řádků a sloupců jsou od nuly. Pro zjištění vybraného řádku tam bude asi něco jako SelectedRow, zkuste a uvidíte.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

diky za radu, ale je tu jeden problem pořád mě VS08 hlasí, že nemůže provést datagridview1 do textbox(label)1.

'System.Windows.Forms.DataGridViewCell' cannot be converted to 'System.Windows.Forms.TextBox'.

Kde hledat ? je přece jedno co do textboxu vložím jestli číslo nebo text.

Petr

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

Můžete sem poslat ten kód, na kterém to padá? Máte tam něco blbě, snažíte se do DataGridViewu přiřadit TextBox, což logicky nejde.

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

Kod je velmi jednoduchý.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

TextBox1 = DataGridView1.Rows(1).Cells(1)

End Sub

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

Naučte se programovat. Jak můžete napsat TextBox1 = hodnota?

TextBox1.Text = DataDridView1.Rows(1).Cells(1).Value

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

To jsem úplně zasklil.

Všechno funguje.

Petr

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

Bývaly doby, kdy existovaly tzv. výchozí vlastnosti. Pro přiřazení hodnoty výchozí vlastnosti prvku se pak nemusela tato vlastnost zapisovat.

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

Toto si pamatuji ještě z VB 6.0 a díky bohu je to pryč. Zůstaly pouze výchozí vlastnosti u kterých je parametr (Default Property ve VB, indexer v C#). Díky tomu lze napsat např.:

Dim strings As New List(Of String)(New String() {"a"})

strings(0) = "b"

'Místo zdlouhavého

strings.Item(0) = "a"

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

Např. datagrid nemá multiselect a vedle textboxy,

které zobrazují hodnoty právě aktuálního řádku

a při zavádění formuláře:

Textbox.DataBindings.Add("Text", DataGrid.DataSource, ColumnName)

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