Array
(
)

CheckBoxList.

Thiago Garcez
   - 27 fev 2012

Bom dia pessoal, estou com uma dúvida e queria saber como consigo usar o CheckBoxList ser alimentado pelo banco de dados, estou usando o Firebird.

Pedro Otávio
   - 27 fev 2012

no código aspx:

<asp:CheckBoxList ID=cbExemplo
runat=server
DataTextField=Nome
DataValueField=Codigo />

no código aspx.cs:

public void MontaCheckBoxList()
{
cbExemplo.DataSource = listObjBanco;
cbExemplo.DataBind();
}

onde listObjBanco é uma List<> de Objetos retornados do banco.

Thiago Garcez
   - 27 fev 2012


Citação:
no código aspx:

<asp:CheckBoxList ID=cbExemplo
runat=server
DataTextField=Nome
DataValueField=Codigo />

no código aspx.cs:

public void MontaCheckBoxList()
{
cbExemplo.DataSource = listObjBanco;
cbExemplo.DataBind();
}

onde listObjBanco é uma List<> de Objetos retornados do banco.


Obrigado mais tinha acabo de resolver, e foi basicamente assim mesmo!

protected void CarregarServico (object sender, EventArgs e)
{
ServicoDAL sd = new ServicoDAL();
Servico s = new Servico();
s.cdselec = Convert.ToInt32(DdlTipo.SelectedValue);
CblServicos.DataSource = sd.carregarTerefas(s);// Carrega os dados
CblServicos.DataValueField = cd_srv; // Define o conteúdo exibido no campo
CblServicos.DataTextField = ds_srv; // Define o valor passado no campo
CblServicos.DataBind();

}

public DataSet carregarTerefas(Servico s)
{
OpenConnection();

Cmd = new FbCommand(select cd_srv, ds_srv from tbservicos order by ds_srv, Con);
Cmd.Parameters.AddWithValue(@cdselec, s.cdselec);
DataSet dataSet = new DataSet();
var da = new FbDataAdapter(Cmd);
da.Fill(dataSet);
return dataSet;
}

Thiago Garcez
   - 27 fev 2012

Só uma pergunta como consigo pegar todos os check marcados?

Pedro Otávio
   - 27 fev 2012

public void VerificarCheckList()
{
for (int i = 0; i < cbExemplo.Items.Count; i++)
{
if (cbExemplo.Items[i].Selected)
{
//...
}
}
}

Thiago Garcez
   - 27 fev 2012


Citação:
public void VerificarCheckList()
{
for (int i = 0; i < cbExemplo.Items.Count; i++)
{
if (cbExemplo.Items[i].Selected)
{
//...
}
}
}

Vlw vou testar, sabe como posso limitar o tamanho da CheckListBox?
Tentei assim

#Código

<asp:CheckBoxList ID=CblServicos runat=server CellPadding=3  CellSpacing=3 width=800px height=200px 
            RepeatColumns=3 RepeatDirection=Vertical RepeatLayout=Table TextAlign=Right  >

Porém quando carrega os resultados ele altera o tamanho deformando a página, queria fosse uma barra de colagem se necessário.

Pedro Otávio
   - 27 fev 2012

Uma forma é você colocar o checkboxlist em detro de uma DIV, e pelo css você defini altura e esse atributo overflow:auto; ele serve para colocar uma barra de rolagem na div quando o elemento ultrapassa o tamanho.

#Código

<div style=height:200px; overflow:auto>
                <asp:CheckBoxList runat=server>
                    <asp:ListItem Text=text1 />
                    <asp:ListItem Text=text2 />
                </asp:CheckBoxList>
            </div>

Thiago Garcez
   - 27 fev 2012

Blz, funcionou obrigado!

Thiago Garcez
   - 28 fev 2012

Bom pintou um dúvida.. Tenho DropDownList que vai ser carregados por hora, porém eu só tenho o inicio e o fim no banco de dados.

Ex: Inicio 09:00 fim 22:00

eu precisava que o combo fosse carregado com os horario no intervalo certo.

Ex: 09:00
09:30
10:00
10:30
.....
21:00
22:00

Alguém tem alguma ideia?

Thiago Garcez
   - 29 fev 2012


Citação:
public void VerificarCheckList()
{
for (int i = 0; i < cbExemplo.Items.Count; i++)
{
if (cbExemplo.Items[i].Selected)
{
//...
}
}
}


Funcionou vlw

Joel Rodrigues
   - 29 fev 2012

TimeSpan intervalo = new TimeSpan(0, 30, 0);//0h 30min 0s
string ini = 9:00, fim = 22:00;//exemplos
DateTime dtIni = DateTime.Parse(ini);
DateTime dtFim = DateTime.Parse(fim);
DateTime horario = dtIni;
while (horario < dtFim)
{
horario = horario.Add(intervalo);
listBox1.Items.Add(horario.ToShortTimeString());
}

Thiago Garcez
   - 29 fev 2012

Como faço para limpar uma checkbocList?

tentei
CblServicos.ClearSelection();

Porem ele só desmarca eu queria deixa-la em branco, para uma nova consulta.

Thiago Garcez
   - 02 mar 2012

Tem como limitar o numero máximo de check marcados? Exemplo marcou 10 ele não consegue marcar mais nenhum?

Thiago Garcez
   - 02 mar 2012

Consegui...

CheckBoxList1.Items.Clear();

Mais ainda não achei para limitar 10 marcações apenas.