ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Conteúdo do Capítulo Implementar um CRUD de uma tabela contendo coluna com informações referenciadas em outras tabelas
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra O banco de dados Pubs contém a tabela Titles que contém uma referência ao Pub_id , ou seja, referencia o código da editora do livro que está cadastrado na tabela Publishers. Ao desenvolver o CRUD de livro deseja-se selecionar a editora através de uma caixa de seleção (DropDownList) ao invés de ser necessário conhecer e digitar o código da editora.
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Para implementar essa funcionalidade abra a página WebFormTitleEdit.aspx, altere o campo Editora para o TemplateField. Isso irá disponibilizar o modelo do campo permitindo que seja alterado.
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Entre para editar o template e substitua a caixa de edição por uma caixa de listagem.
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra A caixa de listagem deve ser configurada para acessar a DALPublishers para carregar o cadastro de editoras Para tal, selecione “Escolher fonte de dados” e, em seguida, “Nova fonte de dados”. Selecione fonte de dados do tipo objeto e escolha a classe DALPublisher.
Em seguida, selecione o método SelectAll que retorna todas as editoras ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Em seguida, selecione o método SelectAll que retorna todas as editoras
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Marque para exibir o nome da editora pub_name e defina o pub_id como valor da caixa de listagem. Com essa configuração, a caixa de listagem vai apresentar o nome da editora e atribuir o código
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra A última etapa da configuração é fazer a ligação da caixa de listagem com a tabela onde será gravado o código da editora. Selecione Editar DataBindings da caixa de listagem e digite Bind(“pub_id”) para a associação personalizada
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Execute a aplicação e observe se a edição de livro apresenta a caixa de listagem com as editoras. Altere a editora e confirme.
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Observe que apesar da aplicação apresentar o nome da editora na caixa de listagem, nas demais telas, ainda aparece o código da editora. Para poder ajustar isto precisa-se alterar o campo a ser apresentado no GridView ou no DetailsView para o nome da editora. Entretanto, na classe modelo, o objeto Title contém apenas o código da editora. Altere a classe Modelo para carregar o objeto de editora e dessa forma poder configurar a apresentação do nome da editora.
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Altere a classe Title para incluir a propriedade pub que conterá o objeto da Editora referenciada pela propriedade pub_id. Altere os métodos get e set para atribuir o conteúdo de pub_id para dentro do objeto pub. Inclusão da proriedades pub public string title_id { get; set; } public string title { get; set; } public Modelo.Publishers pub { get; set; } // Objeto editora // Propriedade para ler e gravar código da editora no objeto editora public string pub_id { get { return pub.pub_id; } set { pub.pub_id = value; } }
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Altere o construtor da classe Titles para instanciar uma editora vazia e atribuir apenas o código da editora public Titles(string atitle_id, string atitle, string apub_id) { this.title_id = atitle_id; this.title = atitle; this.pub = new Modelo.Publishers(); this.pub_id = apub_id; }
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Altere a classe DALTitles para instanciar uma editora ao carregar o objeto livro. Para tal, inclua o trecho de código em negrito (abaixo) nos métodos Select e SelectAll de DALTitles . while (dr.Read()) // Le o proximo registro { // Cria objeto com dados lidos do banco de dados aTitle = new Modelo.Titles( dr["title_id"].ToString(), dr["title"].ToString(), dr["pub_id"].ToString() ); // Le editora do livro if (aTitle.pub_id != "") aTitle.pub = aDALPublishers.Select(aTitle.pub_id)[0]; // Adiciona o livro lido à lista aListTitles.Add(aTitle); }
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Acesse a página WebFormTitle.apsx, selecione a coluna editora e altere a propriedade datafield para pub.pub_name, Isso fará com que a informação a ser mostrada pela coluna seja o nome da editora que está dentro do objeto editora.
Página de cadastro de livros apresentando o nome da editora ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Página de cadastro de livros apresentando o nome da editora
ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Acesse a página WebFormTitleEdit.apsx, selecione Editar Template pois a coluna a coluna editora foi convertida. Acesse o perfil ItemTemplate que contém um componente Label. Altere a associação personalizada do Label para Bind("pub.pub_name").
Página de Edição de livros apresentando o nome da editora ASP.NET Passo a Passo Criando um CRUD de uma tabela com informação referenciada em outra Página de Edição de livros apresentando o nome da editora