NAO CARREGA DADOS NA DROP DOWN LIST
Estou iniciando em asp.net, estou usando vs2008, porém ao tentar carregar dados para uma drop down list, nada acontece
Este é o código
SQL = [Ô]SELECT TOP 1 [ô][ô] AS id, [ô][ô] AS nome [Ô]
+ [Ô]FROM disciplinas [Ô]
+ [Ô]UNION [Ô]
+ [Ô]SELECT id,nome [Ô]
+ [Ô]FROM disciplinas [Ô]
+ [Ô]ORDER BY nome[Ô];
cmd = new OleDbCommand(SQL, conn);
reader = cmd.ExecuteReader();
ddlDisciplinas.DataSource = reader;
ddlDisciplinas.DataTextField = [Ô]nome[Ô];
ddlDisciplinas.DataValueField = [Ô]id[Ô];
ddlDisciplinas.DataBind();
ele puxa os dados porém no DataBind(); os dados somem.
Este é o código
SQL = [Ô]SELECT TOP 1 [ô][ô] AS id, [ô][ô] AS nome [Ô]
+ [Ô]FROM disciplinas [Ô]
+ [Ô]UNION [Ô]
+ [Ô]SELECT id,nome [Ô]
+ [Ô]FROM disciplinas [Ô]
+ [Ô]ORDER BY nome[Ô];
cmd = new OleDbCommand(SQL, conn);
reader = cmd.ExecuteReader();
ddlDisciplinas.DataSource = reader;
ddlDisciplinas.DataTextField = [Ô]nome[Ô];
ddlDisciplinas.DataValueField = [Ô]id[Ô];
ddlDisciplinas.DataBind();
ele puxa os dados porém no DataBind(); os dados somem.
Esqueci, essa drop down esta em um panel, que só é ativado quando clica no botão incluir.
<asp:Panel ID=[Ô]pnlIncluir[Ô] runat=[Ô]server[Ô] Style=[Ô]display: none[Ô] CssClass=[Ô]modalPopupLarge[Ô] >
<table>
<tr>
<td>Disicplina:</td>
<td><asp:DropDownList ID=[Ô]ddlDisciplinas[Ô] runat=[Ô]server[Ô] style=[Ô]width:300px;[Ô] ValidationGroup=[Ô]incluir[Ô] />
<asp:CascadingDropDown ID=[Ô]ccdDisciplinas[Ô] runat=[Ô]server[Ô] Category=[Ô]disciplinas[Ô] ContextKey=[Ô][Ô]
Enabled=[Ô]True[Ô] ParentControlID=[Ô]ddlTurma[Ô] ServiceMethod=[Ô]GetDisciplinas[Ô]
ServicePath=[Ô]cascadingdata.asmx[Ô] TargetControlID=[Ô]ddlDisciplinas[Ô] UseContextKey=[Ô]True[Ô]></asp:CascadingDropDown>
<asp:RequiredFieldValidator ID=[Ô]RequiredFieldValidator4[Ô] runat=[Ô]server[Ô]
ControlToValidate=[Ô]ddlDisciplinas[Ô] ErrorMessage=[Ô]*[Ô] ValidationGroup=[Ô]incluir[Ô] /></td>
</tr>
</table>
<center><asp:ImageButton ID=[Ô]btnIncluirDisciplina[Ô] runat=[Ô]server[Ô] ImageUrl=[Ô]~/imagens/bt_iincluir.png[Ô] OnClick=[Ô]OnIncluirDisciplinaClick[Ô] ValidationGroup=[Ô]incluir[Ô] /><asp:ImageButton ID=[Ô]btnFecharIncluir[Ô] runat=[Ô]server[Ô] ImageUrl=[Ô]~/imagens/bt_fechar.png[Ô] CausesValidation=[Ô]false[Ô] />
</center>
</asp:Panel>
<asp:Panel ID=[Ô]pnlIncluir[Ô] runat=[Ô]server[Ô] Style=[Ô]display: none[Ô] CssClass=[Ô]modalPopupLarge[Ô] >
<table>
<tr>
<td>Disicplina:</td>
<td><asp:DropDownList ID=[Ô]ddlDisciplinas[Ô] runat=[Ô]server[Ô] style=[Ô]width:300px;[Ô] ValidationGroup=[Ô]incluir[Ô] />
<asp:CascadingDropDown ID=[Ô]ccdDisciplinas[Ô] runat=[Ô]server[Ô] Category=[Ô]disciplinas[Ô] ContextKey=[Ô][Ô]
Enabled=[Ô]True[Ô] ParentControlID=[Ô]ddlTurma[Ô] ServiceMethod=[Ô]GetDisciplinas[Ô]
ServicePath=[Ô]cascadingdata.asmx[Ô] TargetControlID=[Ô]ddlDisciplinas[Ô] UseContextKey=[Ô]True[Ô]></asp:CascadingDropDown>
<asp:RequiredFieldValidator ID=[Ô]RequiredFieldValidator4[Ô] runat=[Ô]server[Ô]
ControlToValidate=[Ô]ddlDisciplinas[Ô] ErrorMessage=[Ô]*[Ô] ValidationGroup=[Ô]incluir[Ô] /></td>
</tr>
</table>
<center><asp:ImageButton ID=[Ô]btnIncluirDisciplina[Ô] runat=[Ô]server[Ô] ImageUrl=[Ô]~/imagens/bt_iincluir.png[Ô] OnClick=[Ô]OnIncluirDisciplinaClick[Ô] ValidationGroup=[Ô]incluir[Ô] /><asp:ImageButton ID=[Ô]btnFecharIncluir[Ô] runat=[Ô]server[Ô] ImageUrl=[Ô]~/imagens/bt_fechar.png[Ô] CausesValidation=[Ô]false[Ô] />
</center>
</asp:Panel>
Na verdade vc está fazendo isso no load da página ??
Como vc usa reader, posso sugerir um teste ?? Tente o exemplo abaixo:
Como vc usa reader, posso sugerir um teste ?? Tente o exemplo abaixo:
SQL = [Ô]SELECT TOP 1 [ô][ô] AS id, [ô][ô] AS nome [Ô]
+ [Ô]FROM disciplinas [Ô]
+ [Ô]UNION [Ô]
+ [Ô]SELECT id,nome [Ô]
+ [Ô]FROM disciplinas [Ô]
+ [Ô]ORDER BY nome[Ô];
cmd = new OleDbCommand(SQL, conn);
reader = cmd.ExecuteReader();
while (reader.read())
{
ddlDisciplinas.Items.Add(reader[[Ô]nome[Ô]].toString());
}
reader.Close();
nada feito
Substitua o objeto READER por um DATATABLE, ou DATASET, ou qualquer uma coleção genérica.
Tecla nada feito, porém eu acima dele o seguinte código roda perfeitamente:
[th]
Cabecalho | [/th]
SQL = [Ô]SELECT TOP 1 [ô][ô] AS id, [ô][ô] AS nome [Ô] + [Ô]FROM situacoesalunos [Ô] + [Ô]UNION [Ô] + [Ô]SELECT id,nome [Ô] + [Ô]FROM situacoesalunos [Ô] + [Ô]ORDER BY nome[Ô]; cmd = new OleDbCommand(SQL, conn); reader = cmd.ExecuteReader(); ddlSituacao.DataSource = reader; ddlSituacao.DataTextField = [Ô]nome[Ô]; ddlSituacao.DataValueField = [Ô]id[Ô]; ddlSituacao.DataBind(); reader.Close(); |
Se você utilizou um DATASET, DATATABLE E DATAREADER e não funcionou, concorda que o problema não está na fonte de dados?
Acabei de fazer um aqui, usando o DATAREADER e o resultado segue na imagem.
Acabei de fazer um aqui, usando o DATAREADER e o resultado segue na imagem.
Concordo com você, mas como é possÃvel funcionar em todas as telas, incluisive na própria, porém mudei apenas o nome da tabela. e não funcionar?
Tópico encerrado , respostas não são mais permitidas