Avatar billede snyde Nybegynder
01. september 2005 - 15:07 Der er 14 kommentarer

Hent row ud af LisyBox

Hej Eksperten

Jeg har en listbox:
System.Web:Ui.HtmlControls.HtmlButton Department:

Hvor jeg binder en dataSource til:
selectDepartment.Datasource = dataReaderLectures;
selectDepartment.DataBind;

// Senere i mit kode har jeg en event
private void Opret_ServerClick( object Sender, System.EventArgs e ){
// hvor jeg har behov for at opdatere i databasen via min primære nøjle fra Departments.

Hvordan henter jeg den?
selectDepartment.SelectedItem.Value, giver kun den tekst brugeren har valgt i select boksen.

Den SQL der fylder min select indeholder både ID'en og den value jeg viser.

Så det jeg vil er noget i retningen af.
int index = selectDepartment.SelectedIndex
int selectedDepartment = selectDepartment[index].getRowByName["Id"];

Kan det lade sig gøre, og hvis ikke hvordan skal jeg så gøre

på forhånd tak for jeres svar

Med venlig hilsen

Anders




}
Avatar billede jakobdo Ekspert
01. september 2005 - 15:19 #1
Din listbox indeholder listitems.
Så kan du ikke trække listitem'et ud, og så løbe igennem dens subitems?
Avatar billede snyde Nybegynder
01. september 2005 - 18:18 #2
Hej Umidbart kan jeg kun noget i retningen af:

ListItem listitem = new ListItem();
listitem = selectDepartment.Items.FindByText( selectDepartment.SelectedValue+"" );

Herunder kan jeg på min listitem ikke mere end på min

selectDepartment.SelectedItem;

Jeg kan kalde

listitem.Text og listitem.Value på min ListItem, så kunne måske selv lave en ListItem       
hvor listitem.Value = DBIndex og listitem.Text = Tekst;
og herefter binde den til min listbox.


Så er det muligt at jeg kan, bruge selectDepartment.SelectedItem.value.

Jeg forsøger, andre forslag?
Avatar billede jakobdo Ekspert
01. september 2005 - 18:32 #3
ListItem listitem = new ListItem();
listitem = selectDepartment.Items.FindByText( selectDepartment.SelectedValue.ToString());

Kan du ikke herefter lave: listitem.Subitems[1].text eller noget i den stil?
Avatar billede snyde Nybegynder
01. september 2005 - 18:48 #4
Prøver jeg lige, men dette her virker også.

          DataSet tempDS = new DataSet();
          int errorDepartment = getDepartment().getDepartments( tempDS );
          ArrayList arraylist = new ArrayList();         

          foreach(DataRow row in tempDS.Tables[0].Rows){
            ListItem listitem = new ListItem();
            listitem.Text = row["text"].ToString();
            listitem.Value = row["value"].ToString();
            arraylist.Add(listitem);
          }
         
          for(int i = 0 ; i < arraylist.Count ; i++)
            this.selectDepartment.Items.Add((ListItem) arraylist[i]);

Det er bare lidt overkille at bruge DataSets, og herefter gennemløbe det for at opbygge et array, og gennemløbe den for at opbygge en listbox.
Avatar billede snyde Nybegynder
01. september 2005 - 18:52 #5
Der er ikke noget der hedder noget ala listitem.Subitems...!
Avatar billede jakobdo Ekspert
01. september 2005 - 19:11 #6
Ok!
Jeg troede du havde en listview! (undskylld forvirringen)
Men i en listbox kan du kun indlæse en værdi.
Prøv evt at brug en listview i stedet for.
Der kan du som jeg tidligere har nævnt tilføje subitems.
Avatar billede snyde Nybegynder
01. september 2005 - 19:40 #7
Okay det gør det jo mere logisk, nu har jeg implementeret det på den anden måde.. Men er det alligevel ikke noget med:

ListView listView = new ListView();
og herefter fylde den op?=

Hvor så er de to måder at gøre det på jo næsten ens?
Avatar billede jakobdo Ekspert
01. september 2005 - 19:43 #8
Stort set jo!
I et listView har du bare de ekstra muligheder!
Avatar billede snyde Nybegynder
01. september 2005 - 19:48 #9
okay jamen mange tak for hjælpen..

Det kan være jeg får brug for listView, når jeg skal sortere data i min datagrid på forskellige måder..

Det sidste må du gerne svare på, hvis du ved det.. Ellers vil jeg godt give point for din hjælp indtil videre -)
Avatar billede jakobdo Ekspert
01. september 2005 - 20:12 #10
Jeg er ikke med på hvad du spørger om?
Avatar billede snyde Nybegynder
01. september 2005 - 20:26 #11
Jeg er i færd med at lave en telefonbog, og herunder skal jeg kunne sotere de data jeg binder til min dataGrid efter eks. navn.

Jeg har hørt noget med at man kunne sortere data efter views, så der derfor jeg var intereseret i at vide om jeg også kan bruge listView der?
Avatar billede jakobdo Ekspert
01. september 2005 - 20:51 #12
Det kan du godt med listView.
Du skal dog kode en smule selv.
Men listview er stort set som du kender et EXCEL ark, bare uden regne egenskaber.
Avatar billede snyde Nybegynder
02. september 2005 - 08:28 #13
okay det lyder rigtig godt, det skal jeg nok fine ud af.. Var bare rart at vide i hvilken retning man skulle lede.
Avatar billede jakobdo Ekspert
02. september 2005 - 09:03 #14
Ikke at jeg er mester i C#, men har rodet lidt med ListViews.
Så spørg, så skal jeg se om jeg kan hjælpe.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester