list box com scrool bar horizontal asp.net c#

alfinete

Power Member
ando por aqui a tentar fazer uma listbox em c# e asp.net com scrool bar horizontal ..

as listbox tenm de ser do tipo (<asp_kistbox>) tem de ter outopostback

agradecia uma ajuda

obrigada

Código:
  <div style="Height:201px; Width:187px;overflow:-moz-scrollbars-horizontal;"  runat ="server">  
                    <asp:ListBox ID="lstbxprerequeriment" style="overflow:auto;" rows="6" runat="server" Height="201px" Width="187px"
                        AutoPostBack="True" OnSelectedIndexChanged="lstbxprerequeriment_SelectedIndexChanged">
                    </asp:ListBox>
               </div>
tenho assim mas nem a vertical aparece
 
ando por aqui a tentar fazer uma listbox em c# e asp.net com scrool bar horizontal ..

as listbox tenm de ser do tipo (<asp_kistbox>) tem de ter outopostback

agradecia uma ajuda

obrigada

Código:
  <div style="Height:201px; Width:187px;overflow:-moz-scrollbars-horizontal;"  runat ="server">  
                    <asp:ListBox ID="lstbxprerequeriment" style="overflow:auto;" rows="6" runat="server" Height="201px" Width="187px"
                        AutoPostBack="True" OnSelectedIndexChanged="lstbxprerequeriment_SelectedIndexChanged">
                    </asp:ListBox>
               </div>
tenho assim mas nem a vertical aparece

O teu problema é por teres opções com muito texto e que torna a listbox grande em largura? Em cada option usa o atributo title e aparece o tooltip se o utilizador passar com o ponteiro do rato por cima.

Código:
<select id="teste" style="width: 70px;" size="5" >
<option value="1" title="Este é um texto longo">Este é um texto Longo</option>
<option value="2" title="Este é um texto mais longo ainda">Este é um texto mais longo ainda</option>
</select>
 
será que não dá para fezer com scrool bar .....

é que eu estou a puxar os dados da bd e convem ser com listbox poi precisso de fazer postback

....
 
Código:
  <div id="Dvdisciplines" style="Height:201px; Width:187px;overflow:auto;"  runat ="server">  
                    <asp:ListBox ID="lstbxdisciplines" runat="server" AutoPostBack="True"
                        CausesValidation="True" OnSelectedIndexChanged="lstbxdisciplines_SelectedIndexChanged" Height="216px" Width="185px">
                    </asp:ListBox>
              </div>


assim quase eu faz mas ainda n :(
 
Código:
<div id="Dvdisciplines" style="Height:201px; Width:187px;overflow:auto;" class="lst"  runat ="server">  
                <asp:ListBox ID="lstbxdisciplines" CssClass="lst"  runat="server" AutoPostBack="True" CausesValidation="True" Height="216px" Width="1000px">     
                      <asp:ListItem>Jose alfredo andrade rib</asp:ListItem>
                        <asp:ListItem>adadadadada</asp:ListItem>
                        <asp:ListItem>eeeeee</asp:ListItem>
                        <asp:ListItem>pedro alfredo rui joao ana susana oaulo</asp:ListItem>
                         <asp:ListItem>Jose alfredo andrade rib</asp:ListItem>
                        <asp:ListItem>adadadadada</asp:ListItem>
                        <asp:ListItem >eeeeee</asp:ListItem>
                        <asp:ListItem>pedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulo</asp:ListItem>  
                    </asp:ListBox>
              </div>

assim ja da , mas tive de aumentar o width da lstbox para 1000px, queria um uma forma para aumentar o width dinamicamente conforme o tamanho de texto maximo de tdos os items
 
uma forma de resolver o prob mas não a melhor

code c#

Código:
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //Load all items in the list box.

                int nItem = Convert.ToInt32(ListBox1.Items.Count * 17);
                ListBox1.Height = nItem; //Set height depends on the font size.
                int text = count(ListBox1);
                ListBox1.Width = count(ListBox1)*17; //This will ensure the list item won't be shrinked!

            }

        }

        private int count(System.Web.UI.WebControls.ListBox lst      )
        {
            int i = 0;
            int value = 0;

            for (i = 0; i < lst.Items.Count; i++)
            {
                if (value < lst.Items[i].ToString().Length)
                    value = lst.Items[i].ToString().Length;
            
            }
            return value;
        
        }

code aspx
Código:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="lisboxscroolhr._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
   <div id="Dvdisciplines" style="Height:201px; Width:187px;overflow:auto;" class="lst"  runat ="server">  
                <asp:ListBox ID="lstbxdisciplines" CssClass="lst"  runat="server" AutoPostBack="True" CausesValidation="True" Height="216px" Width="1000px">     
                      <asp:ListItem>Jose alfredo andrade rib</asp:ListItem>
                        <asp:ListItem>adadadadada</asp:ListItem>
                        <asp:ListItem>eeeeee</asp:ListItem>
                        <asp:ListItem>pedro alfredo rui joao ana susana oaulo</asp:ListItem>
                         <asp:ListItem>Jose alfredo andrade rib</asp:ListItem>
                        <asp:ListItem>adadadadada</asp:ListItem>
                        <asp:ListItem >eeeeee</asp:ListItem>
                        <asp:ListItem>pedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulo</asp:ListItem>  
                    </asp:ListBox>
              </div>
              
              <br />
              <br />
              <br />
              <br />
              <div id='hello' style="Z-INDEX: 102; LEFT: 13px; OVERFLOW: 
            auto; WIDTH: 247px; POSITION: relative; TOP: 62px; HEIGHT: 134px" >
            
             <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" CausesValidation="True">     
                      <asp:ListItem>Jose alfredo andrade rib</asp:ListItem>
                        <asp:ListItem>adadadadada</asp:ListItem>
                        <asp:ListItem>eeeeee</asp:ListItem>
                        <asp:ListItem>pedro alfredo rui joao ana susana oaulo</asp:ListItem>
                         <asp:ListItem>Jose alfredo andrade rib</asp:ListItem>
                        <asp:ListItem>adadadadada</asp:ListItem>
                        <asp:ListItem >eeeeee</asp:ListItem>
                        <asp:ListItem>pedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulo</asp:ListItem>  
                         <asp:ListItem>pedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulo</asp:ListItem>  
                          <asp:ListItem>pedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulo</asp:ListItem>  
                           <asp:ListItem>pedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulopedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulopedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulopedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulopedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulopedro alfredo rui joao ana susana oaulo pedro alfredo rui joao ana susana oaulo</asp:ListItem>  
                    </asp:ListBox>
              </div>
              
            </div>
    </form>
</body>
</html>
 
Back
Topo