05. november 2003 - 23:35Der er
18 kommentarer og 1 løsning
Hente data fra datagrid
Hej,
Jeg har en winform hvor der er forskellige labels, textboxes og et datagrid. Mit datagrid består af 3 columns : Name, author og type. Mit problem er at jeg gerne vil kunne klikke på en row i datagrid'et og så vises de forskellige rows i deres respektive textboxes - dvs. hvis der f.eks. står : |aaa|bbb|ccc| i den klikkede column, så vil der stå aaa i min name_txtbox, bbb i mit author_txtbox og ccc i mit type_txtbox. Er det forståeligt?
Jeg har ikk rigtig kunne finde noget omkring det nogen steder!
I alle forms ligger der en klasse der holder alle databindings på en form. denne holder også databinding mellem dit datagrid og dit bagvedliggende dataset som grid'et binder til. her kan du hente hvilken row der peges på lige nu. i eventen CurrentCellChanged kan du så ændre hvad din textboxes binder til. Hvis du har lavet DataBinding fra din textboxes til dit datatable er det ret nemt! hvis du ikke har det vil jeg kraftigt anbefale dig at gøre det! Ellers skal du ind i datasettet og hente dataen hver gang. Her er noget kode til hvis du har databindet dine textboxes:
ikk lige umiddelbart, men det er ikk din kode der fejler. Det er noget med dataGrid.Datasource, som lige pludselig er null. Selv om dataset'et er fyldt og alt. Den fejl har ikk været der før.
kan det være at du er kommet til at sætte databindings på dit datagrid manuelt? eller har du skrevet denne linie rigtigt?: this.m_InteractionsBindingManagerBase = this.BindingContext[MyDataSource, myDataMember];
Har prøvet begge. Den vil ikk bind'e. Fejl : Can't bind to property or column author on DataSource. Jeg sætter godt nok databindings manuelt. Kan ma få Visual Studio.NET tilat gøre det for en?
du kan godt gøre det med visual studio. det kræver at du har et typed dataSet instantieret "trukket og afspejlet med et ikon nedrst i vinduet" på din form. så kan du gennem din textbox's propertypage gøre det i databindings. Men datasettet skal så være typed.
her er et kørende eksempel: -------------form1-------------- using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
ok det er dit valg. Det er også lidt svært at forstå til at starte med, men når man har det er det max guld værd! det letter virkeligt meget! tak for point
Havde ikke set dit eksempel, da jeg accepterede svar. Men kigger lige på det! Men stadig tak!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.