Array
(
)

Carregar coluna do grid

Jair Souza
   - 22 mar 2015

Em windows Form, tem um gridview da tabela itemlocação, mas a última coluna "Valor" é de outra tabela a "Livro". Uso o método abaixo para incluir Livro no grid, preciso ao incluir o id do livro, nome do livro, também incluir o valor, este valor é de uma chave estrangeira...como fazer isto, de preferência usando este mesmo método ?
Este método está no evento keypress do textbox código do livro.
#Código

private void codigoLivrotextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)

this.bDBibliotecaDataSet.ItemLocacao.Rows.Add(null, Convert.ToInt32(iDLocacaoTextBox.Text), Convert.ToInt32(codigoLivrotextBox.Text));
}


Clique na imagem para abrir em uma nova janela

Se alguem souber, já agradeço.

Jair Souza
   - 25 mar 2015

Olá pessoal, alguma orientação ?
Não acho nada na net...

Jair Souza
   - 27 mar 2015


Citação:
Olá pessoal, alguma orientação ?
Não acho nada na net...


E aí pessoal, não sei nem o que devo estudar para resolver isto...HELP !!!

Randrade
   - 27 mar 2015

Bom Jair, creio que você está com problemas de foring key, ou retornar duas tabelas.
Vou deixar dois exemplos que podem lhe ajudar, se entendi correto seu problema.

1º Carregar grid de duas tabelas
Dois DataTable em uma GridView

Caso seja isso mesmo, e necessite de mais exemplos, dê uma olhada nesta pesquisa no google.

Alisson
|
MVP
Pontos: 3400
    06 abr 2015

Jair conseguiu resolver essa questão?
Caso não informar aqui que te auxilio.

Jair Souza
   - 11 abr 2015

Primeiro quero agradecer pelo seu interesse em ajudar, pois ainda não consegui nenhum exito nesta parte do projeto, toda sua ajuda será muito bem vinda.

Caso precise mais alguma informação é só falar.

Este é o código que uso para adicionar o livro no grid :

#Código

Este método está no evento keypress do textbox código do livro.

private void codigoLivrotextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
 
this.bDBibliotecaDataSet.ItemLocacao.Rows.Add(null, Convert.ToInt32(iDLocacaoTextBox.Text), Convert.ToInt32(codigoLivrotextBox.Text));
}


Clique na imagem para abrir em uma nova janela

Clique na imagem para abrir em uma nova janela

Jair Souza
   - 15 abr 2015

Ainda não, tens mais alguma dica ??

Jair Souza
   - 18 abr 2015

A coisa tá feia aqui.... tens alguma dica ?

Alisson
|
MVP
Pontos: 3400
    21 abr 2015

Jair boa noite.
Desculpe fiquei sem logar esses tempos, estava a trabalho direto.
Conseguiu resolver seu problema??

No caso precisaria saber qual o código que está utilizando para adicionar.
Como está fazendo a inserção dos dados, via Linq ou Entity?
Como está o mapeamento da sua tabela??

Preciso saber como faz a parte de gravação e recuperação para poder te auxiliar. Mais uma dica para você é primeiro recuperar o valor do livro que está em uma tabela que você informou.

Qualquer coisa caso precise mande seu whats para mim via e-mail que adiciono você e ai te auxlio.
alissonsantoslp@hotmail.com.br.

Jair Souza
   - 21 abr 2015

Ainda não consegui nada...
Bem vamos por parte :

Banco de dados é ACCESS, tem as tabelas Locação, Livro, ItemLocação, entre outras.

Código para adicionar o livro na lista do datagridview :

#Código

Este método está no evento keypress do textbox código do livro.
 
private void codigoLivrotextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
  
this.bDBibliotecaDataSet.ItemLocacao.Rows.Add(null, Convert.ToInt32(iDLocacaoTextBox.Text), Convert.ToInt32(codigoLivrotextBox.Text));
}


Uso o Entity Framework.

Mapeamento das tabelas :

Clique na imagem para abrir em uma nova janela

A gravação é feita por este método, no botão salvar :

#Código
private void BtnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                if ((iDLocatarioTextBox.Text != "") && (locatariocomboBox.Text != ""))
                {
                    if (itemLocacaoDataGridView.RowCount > 0)
                    {
                        this.Validate();
                        this.locacaoBindingSource.EndEdit();
                        this.tableAdapterManager.UpdateAll(this.bDBibliotecaDataSet);
                        MessageBox.Show("Locação Gravada com Sucesso !", "Locação", MessageBoxButtons.OK, MessageBoxIcon.Information);


A recuperação é feita por esta query, que depois chamo no código com o método FillByIDLocacao :

SELECT ItemLocacao.IDItem, ItemLocacao.IDLocacao, ItemLocacao.IDLivro, ItemLocacao.IDLocatario, ItemLocacao.IDFuncionario, ItemLocacao.[Data de Devolucao],
ItemLocacao.Obs1, ItemLocacao.Obs2, ItemLocacao.Obs3, Livro.[Valor Locacao]
FROM ((ItemLocacao INNER JOIN
Locacao ON Locacao.IDLocacao = ItemLocacao.IDLocacao) INNER JOIN
Livro ON Livro.IDLivro = ItemLocacao.IDLivro)
WHERE (Locacao.IDLocacao = ?)

#Código
this.itemLocacaoTableAdapter.FillByIDLocacao(this.bDBibliotecaDataSet.ItemLocacao, Convert.ToInt32(iDLocacaoTextBox.Text));

Jair Souza
   - 17 mai 2015

Ainda não consegui resolver...alguém saberia me ajudar ?