53 messaggi dal 15 novembre 2004
Si può creare uno user control con scroll bar?

Ho creato uno user control che carica dati da SQL server ed espone proprietà per filtrare i record.
Mi (vi) chiedo come posso dotarlo di scroll bar verticale senza utilizzare iframe, perchè con iframe il controllo finirebbe in un'altra pagina e non potrei più impostarne le proprietà dalla pagina attuale senza complessi scambi di parametri in querystring.

Luciano
puoi inserire il tuo user control in un Div

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
53 messaggi dal 15 novembre 2004
OK, ma il div lo metteresti nella pagina che ospita il controllo o direttamente nello user control?
mmm direi di si, potresti anche dotare il tuo usercontrol di una propietà che abilita o meno lo "scrolling"

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
Se inserisci il tuo controllo in un blocco DIV con proprietà CSS OVERFLOW:SCROLL, ottieni l'effetto desiderato.

<div style="OVERFLOW:scroll">
<uc1:sample id="ucSample" runat="server" />
</div>


Ciao, Ricky.
Modificato da rickyvr il 22 luglio 2005 14.48 -

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
se decidi di inserire il Div nel tuo UserControl

nella file ascx
<div runat="server" id="mioDiv">
..altri controlli quì
</div>


nel codebehind dell'usercontrol
  protected System.Web.UI.HtmlControls.HtmlGenericControl mioDiv;
    private bool enableScroll;
...
public bool EnableScroll
    {
      get
      {
         return enableScroll;
      }
      set
      {
        enableScroll = value;
      }
    }
    protected override void OnPreRender(EventArgs e)
    {
      if(enableScroll)
      {
        mioDiv.Style.Add("OVERFLOW","auto");
      }
      base.OnPreRender (e);
    }

poi nella pagina che "ospita" il tuo UserControl imposti la proprietà EnableScroll . potrebbe essere utile esporre altre propietà per impostare le dimensioni del div ed eventualemente se non usi un foglio di stile esterno, emettere il css inline.

ciao marco

p.s. questo in aggiunta a quanto detto prima e integrata da Riccardo

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
53 messaggi dal 15 novembre 2004
Ho inserito il div direttamente nel controllo ottenendo l'effetto voluto. Ho verificato che se utilizzo il valore OVERFLOW:auto posso mostrare solo la scroll bar verticale (a patto che il controllo contenuto nel div non sia più largo del div stesso). Era quello che serviva.

Grazie.

Luciano
contento di essere stato in qualche modo d'aiuto

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.