• Nenhum resultado encontrado

Este formulário permite adicionar uma factura, com um ou mais itens, para o cliente seleccionado no formulário frmFacturasClientes.

7 Desenho do formulário frmAdicionarFactura.

7.1 Adicione um novo formulário ao projecto. Para tal, seleccione a opção Add Windows Form do menu Project. Como resultado, aparece a caixa de diálogo Add New Item.

7.2 Na secção Templates da caixa de diálogo Add New Item, seleccione a opção Windows Form. Depois introduza o nome para o formulário e pressione o botão Add. Introduza o nome frmAdicionarFactura.

7.3 Defina as propriedades Text, StartPosition e AutoScaleMode, com os valores Adicionar Factura, CenterScreen e Font.

7.4 Na janela Data Sources, expanda a caixa de verificação correspondente à tabela ClientesED. Depois, arraste os atributos IDCliente e Nome para o formulário frmAdicionarFactura.

Como resultado do passo anterior, além dos objectos Label e TextBox, criados para cada coluna, são também criados os objectos EditoraDataSet,

ClientesEDTableAdapter, ClientesEDBindingSource e

ClientesEDBindingNavigator. Adicionalmente, o Visual Studio gera também código, que iremos analisar mais à frente.

7.5 Para as caixas de texto recentemente criadas, defina as suas propriedades BackColor, ReadOnly e TabStop com os valores Control, True e False, respectivamente.

7.6 Elimine a barra de navegação criada pelo wizard.

7.7 Na janela Data Sources, expanda a caixa de verificação correspondente à tabela FacturasED. Depois, arraste o atributo DataFactura para o formulário frmAdicionarFactura.

Deste modo, irá ser criado um controlo DateTimePicker ligado à coluna DataFactura da tabela FacturasED e irão ser gerados os objectos FacturasEDTableAdapter e FacturasEDBindingSource.

7.8 Defina a propriedade Format do controlo DateTimePicker, recentemente criado, com o valor Short.

7.9 Seleccione, na janela Data Sources, a opção Details da caixa de listagem associada à tabela Produtos.

7.10 Seleccione, na janela Data Sources, a opção ComboBox da caixa de listagem associada à coluna Código da tabela Produtos.

7.11 Arraste o atributo Código da tabela Produtos da janela Data Sources para o formulário frmAdicionarFactura.

Como resultado, são criados os controlos Label, ComboBox, ProdutosTableAdapter e ProdutosBindingSource.

7.12 Aceda ao menu smart tag do controlo CódigoComboBox. Active a caixa de verificação Use data bound items. Como resultado, vão ser mostradas as propriedades de ligação.

7.13 Atribuía os valores para as propriedades Data Source, Display Member, Value Member e Selected Value, de acordo com a imagem seguinte.

7.14 Seleccione a opção DropDownList para a propriedade DropDownStyle do controlo CódigoComboBox, de modo a impedir que o utilizador introduza dados nesta caixa de combinação.

7.15 Altere, na secção DataBindings do controlo CódigoComboBox, o valor da propriedade Text para none.

7.16 Defina as propriedades Name e Text do controlo CódigoLabel recentemente criado pelo assistente, com os valores ProdutoLabel e Produto:, respectivamente.

7.17 Adicione um controlo Label e defina as suas propriedades Name e Text com os valores e QuantidadeLabel e Quantidade, respectivamente. 7.18 Adicione um controlo TextBox e defina as suas propriedades Name, Tag

e Text com os valores QuantidadeTextBox, Quantidade e 1, respectivamente.

7.19 Adicione um botão ao formulário. Defina as suas propriedades Name e Text com os valores btnAdicionarItem e Adicionar Item, respectivamente.

7.20 Arraste a tabela ItensFacturasED da janela Data Sources para o formulário do projecto.

7.21 Aceda ao menu smart tag da grelha e seleccione o comando Edit Columns.

Como resultado, surge a caixa de diálogo Edit Columns.

7.22 Na secção Selected Columns, seleccione a coluna Factura e pressione o botão Remove, de modo a remover esta coluna da grelha.

7.23 Seleccione a coluna Designação e toque no botão para a colocar em segundo lugar da lista, a seguir à coluna Produto.

Neste momento, o formulário deve apresentar o seguinte aspecto.

7.24 De modo a tornar a grelha apenas disponível para visualização de dados, aceda ao menu smart tag do comando ItensFacturasEDDataGridView e desactive as caixas de verificação Enable Adding, Enable Editing e Enable Deleting. Desactive ainda a caixa de verificação Enable Column Reordering.

Vamos agora adicionar uma coluna não ligada (Unbound Column) ao comando ItensFacturasEDDataGridView, de modo a incluir um botão que permita apagar um item de uma factura, isto é, um registo da grelha.

7.25 Aceda novamente ao menu smart tag do comando ItensFacturasEDDataGridView e seleccione o comando Edit Columns. Como resultado, surge a caixa de diálogo Edit Items.

7.26 Na caixa de diálogo Edit Items, pressione o botão Add. Como resultado, surge a caixa de diálogo Add Column.

7.27 Na caixa de diálogo Add Column, seleccione a opção Unbound column e defina os restantes itens (Name, Type, Header text, Visible, Read Only e Frozen) de acordo com a figura acima ilustrada. Depois, pressione o botão Add.

7.28 Para voltar à caixa de diálogo Edit Items, pressione o botão Close da caixa de diálogo Add Column, de modo a ser apresentado na coluna mais à direita da grelha.

7.29 Utilize o botão para colocar o botão recentemente adicionado no último lugar da lista Selected Columns.

7.30 Ainda na caixa de diálogo Edit Items, seleccione o botão recentemente adicionado e defina as suas propriedades Text e UseColumnTextForButtonValue com os valores Eliminar e True, respectivamente.

7.31 Pressione o botão OK da caixa de diálogo Edit Items. Neste momento, a grelha deve apresentar o seguinte aspecto.

Quando o utilizador toca numa qualquer célula de um controlo DataGriedView é activado o evento CellContentClick. Pode programar um procedimento para este evento que determina se o utilizador tocou numa coluna com um botão e, em caso afirmativo, realizar o processamento necessário. Pode ainda utilizar o segundo argumento que é passado para este procedimento de evento para obter o índice do registo e da coluna que foi tocada.

7.32 Seleccione, na janela Data Sources, a opção Details da caixa de listagem associada à tabela OpçõesEncomenda.

7.33 Arraste a tabela OpçõesEncomenda para o formulário.

Como resultado, vão ser criados objectos Label e TextBox ligados a cada uma das colunas da tabela. São também criados os objectos OpçõesEncomendaTableAdapter e OpçõesEncomendasBindingSource.

7.34 Para todas as caixas de texto recentemente criadas, defina as propriedades BackColor, ReadOnly e TabStop com os valores Control, True e False, respectivamente.

7.35 Na janela Data Sources, expanda a caixa de verificação correspondente à tabela FacturasED. Depois, arraste, um a um, os atributos TotalProduto, Imposto, Transporte e TotalFactura para o formulário frmAdicionarFactura.

Como resultado, vão ser criados objectos Label e TextBox ligados a cada uma das colunas da tabela.

7.36 Para as caixas de texto recentemente criadas, defina as suas propriedades BackColor, ReadOnly e TabStop com os valores Control, True e False, respectivamente.

7.37 Adicione dois botões ao formulário. Defina as suas propriedades Name, com os valores btnGuardarFactura e btnCancelar e Text, com os valores Guardar Factura e cancelar, de acordo com a figura seguinte.

Vamos ainda adicionar mais duas consultas ao Table Adapter FacturasEDTableAdapter para obter as facturas de um dados cliente e o último identificador atribuído à tabela FacturasED.

7.38 Seleccione, no DataSet Designer, o Table Adapter FacturasEDTableAdapter com o botão direito do rato. Depois, seleccione o comando Add Query.

Utilize o Table Adapter Query Configuration Wizard para criar a consulta.

7.39 No primeiro passo do wizard, seleccione a opção Use SQL statements.

7.40 Pressione o botão Next.

7.41 No segundo passo do wizard, seleccione a opção SELECT which returns rows.

7.42 Pressione o botão Next.

7.43 No terceiro passo do wizard, construa a consulta, de acordo com a figura seguinte. Esta consulta vai ser utilizada para obter as facturas do cliente cujo identificador é fornecido através de um parâmetro.

7.44 Pressione o botão Next.

7.45 No quarto passo do wizard, mantenha activada a caixa de verificação Fill a DataTable, atribua o valor FillByCliente na caixa de texto Method name e desactive a caixa de combinação Return a DataTable, de acordo com a figura seguinte.

7.46 Pressione o botão Next. 7.47 Pressione o botão Finish.

7.48 Para adicionar outra consulta ao Table Adapter FacturasEDTableAdapter, repita os passos 7.38 a 7.40.

7.49 No segundo passo do wizard, seleccione a opção SELECT which returns a single value.

7.50 Pressione o botão Next.

7.51 No terceiro passo do wizard, introduza o código SQL necessário para que fique de acordo com a figura abaixo ilustrada. Esta consulta vai ser utilizada para obter o valor do último identificador de factura (IDFactura) atribuído pelo SQL SERVER. Para tal, é utilizada a função IDENT_CURRENT(‘Nome_Tabela’). Esta função devolve o último valor gerado para a coluna IDENTITY da tabela especificada no seu argumento.

7.52 Pressione o botão Next.

7.53 No quarto passo do wizard atribua o valor ObterÚltimoValorIDENTITY ao nome do método que está a criar.

7.54 Pressione o botão Next.

7.55 Pressione o botão Finish.

Neste momento, devem estar associados ao formulário frmAdicionarFactura os seguintes controlos.

Neste momento, o DataSet Designer deve apresentar o seguinte aspecto.

Para finalizar, note que pode aplicar os tópicos abordados nas tarefas orientadas 2 a 7 para melhorar a interface das suas aplicações de bases de dados.

Documentos relacionados