Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: ASP.NET ::: ASP.NET Data Controls (Controles de Dados) :::

Como personalizar os títulos das colunas de um controle <asp:GridView>

Quantidade de visualizações: 8536 vezes
Por padrão, quando ligamos a propriedade DataSourceID de um controle <asp:GridView> a um controle <asp:GridView> e exibimos os dados de uma tabela do banco de dados, os títulos das colunas do controle GridView recebem os nomes dos campos na tabela. Este comportamento é bom para fins de depuração mas, em aplicações do mundo real precisamos de uma forma de personalizar tais títulos.

A classe GridView possui uma propriedade chamada AutoGenerateColumns que é true por padrão. É esta propriedade que faz com que um objeto AutoGeneratedField seja automaticamente criado para cada um dos campos da tabela. Consequentemente os títulos das colunas acabam recebendo o nome de cada campo na tabela do banco de dados.

O que precisamos fazer é definir o valor false para a propriedade AutoGenerateColumns e gerarmos, nós mesmo, as colunas do GridView. Isso pode ser feito de duas formas: em tempo de design e em tempo de execução. Nesta dica abordarei a personalização dos títulos das colunas em modo de design.

Se estiver usando o Visual Studio 2008 ou mais recente você só precisa selecionar o controle GridView, clicar na seta no canto superior direito e acessar o editor de colunas. Se quiser fazer via código mesmo, só precisa adicionar um elemento <Columns> ao elemento <asp:GridView> e, dentro deste, os controles <asp:BoundField>, <asp:ButtonField>, <asp:CheckBoxField>, <asp:CommandField>, etc.

Veja o código para uma página Default.aspx na qual temos um <asp:GridView> representando os dados de uma tabela chamada clientes. Veja que os títulos das colunas do GridView estão definidos como "Código", "Nome", "Cidade" e "Estado":

<%@ Page Language="C#" AutoEventWireup="true"  
CodeFile="Default.aspx.cs" Debug="true"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Estudos ASP.NET</title>
</head>
<body>

<form id="form1" runat="server">
  
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
   ConnectionString="Data Source=NOTEBOOK;Initial Catalog=estudos;
     Integrated Security=True"
......


Note que aqui eu usei controles <asp:BoundField> com apenas duas propriedades básicas: DataField e HeaderText. No entanto, este controle permite uma personalização mais refinada. Não deixe de verificar minhas outras dicas sobre este tópico para aprender sobre as funcionalidades adicionais.

Link para compartilhar na Internet ou com seus amigos:

C ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercício Resolvido de C - Um método recursivo que conta de 0 até 10

Quantidade de visualizações: 608 vezes
Pergunta/Tarefa:

Escreva um método recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura:

void contar_recursivamente(int n){
  // sua implementação aqui
}
Veja que o método deverá receber o valor 0 e efetuar novas chamadas a si mesmo até que os valores de 0 a 10 sejam exibidos. O ponto de parada da recursividade é a exibição do valor 10.

Sua saída deverá ser parecida com:

0  1  2  3  4  5  6  7  8  9  10
Resposta/Solução:

Veja a resolução comentada deste exercício usando C console:

#include <stdio.h>
#include <stdlib.h>
  
// método recursivo que conta de 0 até 10;
void contar_recursivamente(int n){
  // vamos exibir o número atual
  printf("%d  ", n);
    
  // devemos prosseguir com a recursividade?
  if(n < 10){
    // incrementa o valor de n
    n++;  
    contar_recursivamente(n); // e faz uma nova chamada recursiva
......



Python ::: wxPython ::: wxFrame

Python wxPython - Como criar janelas GUI em Python usando a classe wx.Frame do wxPython

Quantidade de visualizações: 11412 vezes
Em wxPython, um frame é o nome dado ao que o usuário do programa geralmente chama de "janela". Um frame é um contâiner que o usuário pode mover livremente na tela, e que geralmente inclui artifícios tais como uma barra de títulos, uma barra de menus, e sinalizadores de redimensionamento nas bordas e cantos. A classe wx.Frame é a classe pai de todos os frames em wxPython.Há também algumas subclasses especializadas de wx.Frame que podemos usar em nossos programas.

Quando fazemos subclasse de wx.Frame, o método __init__() de nossa classe deverá chamar o construtor da classe pai wx.Frame.__init__(). A assinatura deste construtor é assim:

wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition,
  size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,
  name="frame")
Este construtor aceita vários parâmetros. Em uso normal, contudo, alguns dos valores padrões são perfeitamente aceitáveis.

Veja a seguir alguns parâmetros importantes do construtor __init__() da classe wx.Frame:


  • parent - A janela pai do frame que está sendo criado. Para janelas top-level, o valor é None. Se outra janela é usada para o parâmetro parente, então o novo frame pertencerá a esta janela e será destruído juntamente com seu pai. Dependendo da plataforma, o novo frame poderá ter restrições no sentido de somente aparecer no topo da janela pai. No caso de uma janela filha MDI, a nova janela terá restrições e somente poderá ser movida e redimensionada dentro da janela pai.

  • id - O número ID wxPython para a nova janela. Podemos fornecer um explicitamente ou fornecer -1, o que fará com que o wxPython gere um novo ID automaticamente.

  • title - O título da janela. Geralmente o título é exibido na barra de títulos da janela.

  • pos - Um objeto wx.Point especificando o local na tela no qual o canto superior esquerdo da janela deverá estar. Como é de praxe em aplicações gráficas, o ponto (0, 0) está no canto superior esquerdo do monitor. O valor padrão é (-1, -1), que faz com o sistema operacional decida a melhor posição para a janela.

  • size - Um objeto wx.Size definindo o tamanho inicial da janela. O padrão é (-1, -1), que faz com que o sistema operacional decida o melhor tamanho para a janela.

  • style - Uma máscara de bits (bitmask) de constantes determinando o estilo da janela. Podemos usar o operador bitware or (|) para combinar os estilos fornecidos.

  • name - Um nome interno dado ao frame e usado no Motif para definir valores de recursos. Pode também ser usado para encontrar a janela por nome mais tarde.


Veja a seguir um modo muito comum de se chamar o construtor __init__() da classe wx.Frame:

import wx

class MinhaJanela(wx.Frame):    
  def __init__(self):
    super().__init__(parent=None, title="Minha Janela",
      size=(350, 250))
......


Este código vai gerar a janela mostrada na figura abaixo:




Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Declarar e construir uma matriz de 10 int, pedir ao usuário para informar os valores dos elementos, mostrar a média dos valores informados e a quantidade de valores acima da média

Quantidade de visualizações: 13377 vezes
Pergunta/Tarefa:

Escreva um programa Java console ou GUI que declara e constrói uma matriz de 10 inteiros. Em seguida peça ao usuário para informar os 10 valores e armazene-os na matriz. Finalmente obtenha a média aritmética dos valores informados e mostre quantos valores estão acima da média.

Seu programa deverá exibir a seguinte saída (no caso de uma aplicação Console):

Informe o 1º valor: 4
Informe o 2º valor: 12
Informe o 3º valor: 9
Informe o 4º valor: 6
Informe o 5º valor: 4
Informe o 6º valor: 3
Informe o 7º valor: 7
Informe o 8º valor: 2
Informe o 9º valor: 3
Informe o 10º valor: 1
A média dos valores é: 5.0
Quantidade de valores acima da média: 4 
Dica: Use um objeto da classe Scanner para obter a entrada do usuário.

Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

package estudos;

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    // vamos declarar e instancia um objeto da classe Scanner
    Scanner entrada = new Scanner(System.in);

    // vamos declarar e construir uma matriz de 10 ints
    int valores[] = new int[10];

    double media; // média dos valores
    int soma = 0; // soma dos valores lidos
    int quantAcimaMedia = 0; // quantidade de valores acima da média

    // vamos solicitar ao usuário que informe os 10 valores inteiros
    // e vamos armazená-los na matriz
    for(int i = 0; i < valores.length; i++){
      System.out.print("Informe o " + (i + 1) + "º valor: ");
......



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Java - Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética

Quantidade de visualizações: 111 vezes
Pergunta/Tarefa:

Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética. Se a média for igual ou superior a 7,0 mostre uma mensagem indicando que o aluno foi aprovado.

Se a média for igual ou maior que 3,5 e inferior a 7,0 seu programa deverá indicar que o aluno ficou de exame. Uma média menor que 3,5 indica reprovação direta.

No caso do exame, leia uma nota entre 0 e 10. Agora a média do aluno deverá ser a média entre a média anterior e a nota do exame. Se a nova média for igual ou superior a 5,0 o aluno estará aprovado. Caso contrário o aluno será reprovado.

Use validação para evitar que o usuário informe notas inválidas, ou seja, notas menores que 0 ou maiores que 10. Caso notas inválidas sejam fornecidas seu programa deverá solicitar a nota novamente até que o usuário forneça notas válidas.

Sua saída deverá ser parecida com:

Informe a nota N1: 9.4
Informe a nota N2: 11
Nota inválida. Informe a nota N2: 8.3
A média do aluno é: 8.85
O aluno foi aprovado

Informe a nota N1: 4.2
Informe a nota N2: 1.8
A média do aluno é: 3.0
O aluno reprovou direto.

Informe a nota N1: 5.7
Informe a nota N2: 6
A média do aluno é: 5.85
Informe a nota do exame: 7
A média do aluno com o exame é: 6.425
O aluno foi aprovado após o exame.
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double n1, n2, media, exame;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler a primeira nota
    System.out.print("Informe a nota N1: ");
    n1 = Double.parseDouble(entrada.nextLine());
    // a nota é válida?
    while ((n1 < 0) || (n1 > 10)) {
      System.out.print("Nota inválida. Informe a nota N1: ");
      n1 = Double.parseDouble(entrada.nextLine());
    }
    
    // vamos ler a segunda nota
    System.out.print("Informe a nota N2: ");
    n2 = Double.parseDouble(entrada.nextLine());
    // a nota é válida?
    while ((n2 < 0) || (n2 > 10)) {
      System.out.print("Nota inválida. Informe a nota N2: ");
      n2 = Double.parseDouble(entrada.nextLine());
    }
    
    // vamos calcular a média do aluno
    media = (n1 + n2) / 2.0;
    System.out.println("A média do aluno é: " + media);
    
    // o aluno foi aprovado?
......



C# ::: Dicas & Truques ::: Data e Hora

Datas e horas em C# - Como obter o valor numérico do dia da semana para uma determinada data usando C#

Quantidade de visualizações: 12938 vezes
A propriedade DayOfWeek da classe DateTime da linguagem C# retorna um valor numérico que corresponde ao dia da semana. Assim, se o dia for domingo, o retorno será 0. Se for segunda-feira, o resultado será 1, e assim por diante.

Veja o código completo para o exemplo:

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      // domingo = 0, segunda = 1, etc
      DateTime agora = DateTime.Now;
      int dia_semana = (int)agora.DayOfWeek;
......


Ao executar este código nós teremos o seguinte resultado:

O valor numérico do dia da semana é: 2


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 9 usuários muito felizes estudando em nosso site.