DROPDOWNLIST

JAIR2002 13/01/2012 11:38:41
#393165
Pessoal,

Mais uma vez preciso da ajuda de vocês, como estou aprendendo c# estou com dificuldades em algumas coisas o problema é o seguinte:

tenho dois DROPDOWNLIST sincronizados onde no primeiro carrego os estados e no segundo as cidades ate ai tudo bem o problema é quando tento carregar o dados no web form para edição não consigo de jeito nenhum se algum puder me ajudar. veja o codigo abaixo


if (leitor.IsDBNull(3))
{

DropDownListEstados.Text = [Ô][Ô];

}

else
{
DropDownListEstados.Text = leitor.GetString(3);
}


if (leitor.IsDBNull(4))
{
DropDownListNaturalidade.Text = [Ô][Ô];

}
else
{
DropDownListNaturalidade.Text = leitor.GetString(4);

}


outro problema é com campos numericos tipo o CPF que também não estou conseguindo carregar para o web form se

se alguém puder me ajudar



Grato,

FILMAN 13/01/2012 12:18:57
#393168
Bom vamos lá
tambem estou iniciando em C# mais vamos ver posso ajudar!

Primeiro o que entendi é que você tem uma tabela ESTADO e CIDADE e essas estão ligadas no cadastro correto?
Se for isso faça assim

Carregar os Drops
ESTADO
SqlCommand comm = new SqlCommand([Ô]SELECT * FROM estado[Ô], SuaConexao);
// Abrir a Conexao
SuaConexao.Open();
// Crie um Objeto DataReader
SqlDataReader dr = comm.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
dr.Read();
DropEstado.DataTextField = [Ô]Estado[Ô];
DropEstado.DataValueField = [Ô]Id_Estado[Ô];
DropEstado.DataSource = dr;
DropEstado.DataBind();

SuaConexao.Close();


Com esse código acima vc conseguira carregar o Drop com os dados da tabela faça o mesmo para cidade.
Agora Carregando o web form completo

SqlCommand comm = new SqlCommand([Ô]SELECT * FROM clientes[Ô], SuaConexao);
// Abrir a Conexao
SuaConexao.Open();
// Crie um Objeto DataReader
SqlDataReader dr = comm.ExecuteReader();
dr.Read();
string strEstado = Convert.ToString(dr[[Ô]CampoEstado[Ô]]);
string strCidade = Convert.ToString(dr[[Ô]CampoCidade[Ô]]);

DropEstado.SelectValue = strEstado;
DropCidade.SelectValue = strCidade;

txtNome.Text = Convert.ToString(dr[[Ô]CampoNome[Ô]]);
txtEndereco.Text = Convert.ToString(dr[[Ô]CampoEnd[Ô]]);

...

SuaConexao.Close();


Lembrando que para o Drop Sempre atualizar conforme o seu CLIQUE é necessario que você
coloque a propriedade AutoPostBack para True


Espero Ter ajudado
KERPLUNK 13/01/2012 12:19:36
#393169
Combobox, recebe sempre algum tipo de lista de dados, como por exemplo:

public class Pessoa
{
public string Codigo { get; set;}
public string Nome {get; set;}
}

No seu form:
List<Pessoa> pessoas = new List<Pessoa>();
pessoas.Add(new Pessoa(){ Codigo=[Ô]1[Ô], Nome = [Ô]Zé[Ô]});
pessoas.Add(new Pessoa(){ Codigo=[Ô]2[Ô], Nome = [Ô]Paulo[Ô]});
pessoas.Add(new Pessoa(){ Codigo=[Ô]3[Ô], Nome = [Ô]Juca[Ô]});

drpPessoas.DisplayMember = [Ô]Codigo[Ô];
drpPessoas.ValueMember = [Ô]Nome[Ô];
drpPessoas.DataSource = pessoas;
drpPessoas.DataBind();



Essa mesma lista de pessoas, poderia ser o retorno de uma tabela:
SqlCommand cmd = new SqlCommand([Ô]Select codigo, nome from Pessoas[Ô], cn);
SqlDataReader dr = cmd.ExecuteReader();

List<Pessoa> pessoas = new List<Pessoa>()
while (dr.Read())
{
pessoas.Add(new Pessoa(){ Codigo=dr.GetString(dr.GetOrdinal([Ô]codigo[Ô])), Nome = dr.GetString(dr.GetOrdinal([Ô]nome[Ô]))});
}

drpPessoas.DisplayMember = [Ô]Codigo[Ô];
drpPessoas.ValueMember = [Ô]Nome[Ô];
drpPessoas.DataSource = pessoas;
drpPessoas.DataBind();


E por aí vai...
JAIR2002 13/01/2012 14:36:49
#393185
Pessoal,

Obrigado pela ajuda, mas não conseguir implementar o codigo que me passaram se tiverem mais alguma idéia?

jair
KERPLUNK 13/01/2012 14:43:14
#393186
O código que te passamos, não é a solução do seu problema. é como funciona e um exemplo do que vc precisa fazer para resolver seu problema.
JAIR2002 13/01/2012 17:00:55
#393200
OK KEPLUNK,

Vou tentar aqui qualquer coisa retorno.

grato.
JAIR2002 16/01/2012 21:19:41
#393378
Pessoal,



Não conseguir resolver, se alguém tiver algum exemplo e puder me passar agradeço muito, estou [Ô]emperrado[Ô] neste problema ja fazem alguns dias.

grato

Jair
FILMAN 20/01/2012 04:57:52
#393695
posta seu código aqui para tentarmos te ajudar assim fica mais facil
JAIR2002 21/01/2012 11:35:50
#393802
Pessoal,


Obrigado pela atenção, mas acabei desistindo do modelo acima e adotei uma caixa de texto no local de uma das dropdownlist.

grato a todos.
Tópico encerrado , respostas não são mais permitidas