Avatar billede fileto Seniormester
06. juli 2004 - 11:51 Der er 1 løsning

Problemer med panel i placeholder

Hej

Jeg forsøger at putte en panel i en placeholder, men hver gang jeg putter en panel ind, forsvinder den forrige.

min kode ser således ud :
#code start
  Panel[] lstFeature = new Panel[5];
  TextBox rating = new TextBox();

  chkFeature.CheckedChanged += new EventHandler(FeaturePannel);

  lstFeature[features-1] = new Panel();
  plhSearchHolder.Controls.Add(lstFeature[features-1]);

    private void FeaturePannel(object sender, System.EventArgs e)
    {
      CheckBox chkFeat = new CheckBox();
      chkFeat = (CheckBox)sender;

      string fId = chkFeat.ID;
      int featix = Int32.Parse(fId);

      if (chkFeat.Checked)
      {
        rating.Text = "test";
        lstFeature[featix-1].Controls.Add(rating);
      }
      else
      {
        lstFeature[featix-1].Controls.Remove(rating);
      }

      lstFeature[featix-1].Height = featuredetailsHeight;
      lstFeature[featix-1].Width = featuredetailsWith;
      lstFeature[featix-1].Style.Add("top", "" + (baseTop+(space*(featix-1))) + "px");
      lstFeature[featix-1].Style.Add("left", "" + featuredetailCol + "px");
      lstFeature[featix-1].Style.Add("position", "absolute");
      lstFeature[featix-1].EnableViewState = true;
      lstFeature[featix-1].DataBind();

    }

#code slut


Jeg forstår ikke helt hvorfor det ikke virker, da nedenstående virker fint blot bruger jeg
her checkBoxList.

#code start

  CheckBoxList[] lstFeaturedetails = new CheckBoxList[5];

  chkFeature.CheckedChanged += new EventHandler(FeaturedetailsPannel);

  lstFeaturedetails[features-1] = new CheckBoxList();
  plhSearchHolder.Controls.Add(lstFeaturedetails[features-1]);


    private void FeaturedetailsPannel(object sender, System.EventArgs e)
    {
      CheckBox chkFeat = new CheckBox();
      chkFeat = (CheckBox)sender;

      string fId = chkFeat.ID;
      int featix;
      featix = Int32.Parse(fId);

      //      populate Featuredetail list
      string sqlString =  "sqlstring";
      ArrayList FeaturedetailSelection = new ArrayList();
      if (chkFeat.Checked)
      {
        MovieDb.MdbPassSqlsCommand(sqlString);
        MovieDb.MdbConnectionOpen();
        MovieDb.MdbExecuteReader();
        pSelection featureDetails = new pSelection();
        while (MovieDb.MdbDataRead())
        {
          featureDetails = new pSelection();
          featureDetails.sName = MovieDb.MdbGetString("FeatureDetailname");
          featureDetails.sValue = MovieDb.MdbGetInt("Id");
          FeaturedetailSelection.Add (featureDetails);
        }
        MovieDb.MdbConnectionClose();
      }
      else
      {
        FeaturedetailSelection.Remove(sender);
      }
      lstFeaturedetails[featix-1].Height = featuredetailsHeight;
      lstFeaturedetails[featix-1].Width = featuredetailsWith;
      lstFeaturedetails[featix-1].Style.Add("top", "" + (baseTop+(space*(featix-1))) + "px");
      lstFeaturedetails[featix-1].Style.Add("left", "" + featuredetailCol + "px");
      lstFeaturedetails[featix-1].Style.Add("position", "absolute");
      lstFeaturedetails[featix-1].EnableViewState = true;
      lstFeaturedetails[featix-1].RepeatDirection = RepeatDirection.Horizontal;

      lstFeaturedetails[featix-1].DataTextField = "sName"; // Navnet på den property på dine dataobjekter der skal være tekst
      lstFeaturedetails[featix-1].DataValueField = "sValue"; //Navnet på den property på dine dataobjecter der skal være value
      lstFeaturedetails[featix-1].DataSource = FeaturedetailSelection;
      lstFeaturedetails[featix-1].DataBind();
    }


Altså hvis jeg bruger panel så virker det ikke og hvis jeg bruger checkboxlist så virker det fint.

Hvorfor denne forskel, er der noget man skal gøre specielt når det er panel man bruger?

Er der nogen der har et bud på hvad det kan være?
Avatar billede fileto Seniormester
10. juli 2004 - 13:59 #1
Jeg lukker dette spørsmål for at omformulere det i et nyt indlæg.
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