Carregar coluna do grid

.NET

22/03/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.

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));
}



[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150325-093305.jpg[/img]


Se alguem souber, já agradeço.
Jair Souza

Jair Souza

Curtidas 0

Respostas

Jair Souza

Jair Souza

22/03/2015

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

Jair Souza

22/03/2015

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 !!!
GOSTEI 0
Randrade

Randrade

22/03/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.

[url:descricao=1º Carregar grid de duas tabelas]http://www.codeproject.com/Articles/304297/Data-from-Two-Tables-in-a-Single-DataGridView[/url]
Dois DataTable em uma GridView


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

Alisson Santos

22/03/2015

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

Jair Souza

22/03/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 :

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));
}



[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150411-202901.jpg[/img]

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150411-202917.jpg[/img]
GOSTEI 0
Jair Souza

Jair Souza

22/03/2015

Ainda não, tens mais alguma dica ??
GOSTEI 0
Jair Souza

Jair Souza

22/03/2015

A coisa tá feia aqui.... tens alguma dica ?
GOSTEI 0
Alisson Santos

Alisson Santos

22/03/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.
GOSTEI 0
Jair Souza

Jair Souza

22/03/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 :

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 :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150421-135635.jpg[/img]


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

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 = ?)


this.itemLocacaoTableAdapter.FillByIDLocacao(this.bDBibliotecaDataSet.ItemLocacao, Convert.ToInt32(iDLocacaoTextBox.Text));
GOSTEI 0
Jair Souza

Jair Souza

22/03/2015

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