Array
(
)

DBWebDropDownList problema para carregar valores

Adrbrusc
   - 12 dez 2007

Olá,

Estou tentando usar o DBWebDropDownList com a finalidade de selecionar um item da lista e colocar o seu valor selecionado num TextBox (bem simples). Mas após configurado e carregado os valores neste componente, quando eu seleciono e clico no botão para atribuir o valor ao textbox, sempre é reposicionado esta lista voltando sempre ao primeiro item. Parece que a página está dando um refresh. Alguem sabe como resolver isso ?

Componente DBWebDropDownList:

DBDataSource := DBWebDtSrcMain
Tablename := TblCustomers
LookupTableName := TblCustomers
DataValueField := CodCustomer
DataTextField := Name
ColumnName := CodCustomer

procedure TWebForm1.Button3_Click(sender: System.Object; e:
System.EventArgs);
begin
//sempre retorna o mesmo valor após selecionado qualquer item da lista
txtBxDescricao.Text := DBWebDropDownListCustomer.SelectedValue;
end;

Estou usando BDS 2006 + SQL Server 2005.

Obrigado


Giordanocwb
   - 12 dez 2007

Que código você tem no seu evento Page_Load??


Signori
   - 12 dez 2007

Opa!

Verifica teu PageLoad. Precisa ter o bloco

if not IsPostBack
begin

end


Adrbrusc
   - 13 dez 2007


Citação:
Opa!

Verifica teu PageLoad. Precisa ter o bloco

if not IsPostBack
begin

end


Então no Page_Load não tenho nada que acho q possa dar o problema. O que eu precisaria colocar dentro deste bloco do isPostBack ?

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
// TODO: Put user code to initialize the page here
LblMsg.Text := Request.QueryString.Item[´msg´];
CodSuporte.Text := Request.QueryString.Item[´CodSuporte´];
end;

O que pode ser...


Signori
   - 13 dez 2007

Onde que vc tem a função que carrega os items do teu DropDow?

O ideal seria no PageLoad, entre IsPostBack..


Adrbrusc
   - 13 dez 2007


Citação:
Onde que vc tem a função que carrega os items do teu DropDow?

O ideal seria no PageLoad, entre IsPostBack..


Então, como ele é um componente DBWebDropDownList ele já é configuravel para pegar os dados do meu BDPDataAdapter ou seja após configurá-lo automaticamente ele carrega a lista.

Obrigado por enquanto heim!


Xrafaelx
   - 13 dez 2007


Citação:
Olá,

Estou tentando usar o DBWebDropDownList com a finalidade de selecionar um item da lista e colocar o seu valor selecionado num TextBox (bem simples). Mas após configurado e carregado os valores neste componente, quando eu seleciono e clico no botão para atribuir o valor ao textbox, sempre é reposicionado esta lista voltando sempre ao primeiro item. Parece que a página está dando um refresh. Alguem sabe como resolver isso ?

Componente DBWebDropDownList:

DBDataSource := DBWebDtSrcMain
Tablename := TblCustomers
LookupTableName := TblCustomers
DataValueField := CodCustomer
DataTextField := Name
ColumnName := CodCustomer

procedure TWebForm1.Button3_Click(sender: System.Object; e:
System.EventArgs);
begin
//sempre retorna o mesmo valor após selecionado qualquer item da lista
txtBxDescricao.Text := DBWebDropDownListCustomer.SelectedValue;
end;

Estou usando BDS 2006 + SQL Server 2005.

Obrigado




coloca assim:

txtBxDescricao.Text :=DBWebDropDownListCustomer.Items[DBWebDropDownListCustomer.SelectedIndex].Value;


Adrbrusc
   - 13 dez 2007


Citação:

Citação:
Olá,

Estou tentando usar o DBWebDropDownList com a finalidade de selecionar um item da lista e colocar o seu valor selecionado num TextBox (bem simples). Mas após configurado e carregado os valores neste componente, quando eu seleciono e clico no botão para atribuir o valor ao textbox, sempre é reposicionado esta lista voltando sempre ao primeiro item. Parece que a página está dando um refresh. Alguem sabe como resolver isso ?

Componente DBWebDropDownList:

DBDataSource := DBWebDtSrcMain
Tablename := TblCustomers
LookupTableName := TblCustomers
DataValueField := CodCustomer
DataTextField := Name
ColumnName := CodCustomer

procedure TWebForm1.Button3_Click(sender: System.Object; e:
System.EventArgs);
begin
//sempre retorna o mesmo valor após selecionado qualquer item da lista
txtBxDescricao.Text := DBWebDropDownListCustomer.SelectedValue;
end;

Estou usando BDS 2006 + SQL Server 2005.

Obrigado




coloca assim:

txtBxDescricao.Text :=DBWebDropDownListCustomer.Items[DBWebDropDownListCustomer.SelectedIndex].Value;


Vlw, mas mesmo assim ele retorna ao primeiro item da lista e joga o mesmo valor no txtBxDescricao.

Estou vendo a possibilidade de usar um componente DropDownList, mas ai tenho de carregá-lo manualmente né.

Obrigado


Adrbrusc
   - 13 dez 2007

Pessoal, obrigado pela ajuda... a solução que achei foi a de usar o componente DropDownList e não o DBWebDropDownList ai para ficar documentado fiz o seguinte código para carregá-lo manualmente.

#Código


procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
// TODO: Put user code to initialize the page here
if not IsPostBack then
begin
//Carregar manualmente um DropDownList
//BdpCmdLista = Componente BdpCommand
BdpCmdLista.CommandText := ´SELECT CodArea, Descricao FROM dbo.TblSupCodArea order by Descricao´;
DropDownListDepto.DataSource := BdpCmdLista.ExecuteReader;
DropDownListDepto.DataTextField := ´Descricao´;
DropDownListDepto.DataValueField := ´CodArea´;
DropDownListDepto.DataBind;
DropDownListDepto.Items.Insert(0, ´Selecione´);
end;


E para retornar o valor selecionado ficou assim:

#Código

procedure TWebForm1.Button3_Click(sender: System.Object; e: System.EventArgs);
begin
txtBxDescricao.Text := DropDownListDepto.SelectedValue;
end;


Obrigado pela ajuda galera!