alexandremanowar Postado Dezembro 19, 2005 Denunciar Share Postado Dezembro 19, 2005 E a e pessoal belezaEu gostaria de saber como eu faço formatação no Data Grid, tipo largura de coluna, cor de fonte e cor da linha.Alguém pode me explicar isso?Valeu Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 19, 2005 Denunciar Share Postado Dezembro 19, 2005 A largura você encontra como definir aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=58436A cor da fonte é só alterar a propriedade ForeColor. Agora, por "cor da linha" você quer dizer exatamente o quê?Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Dezembro 19, 2005 Autor Denunciar Share Postado Dezembro 19, 2005 E ae Graymalkin belezaCara perdoe o meu erro, cometi uma falha, essas dúvidas que postei acima não é para DataGrid é para ListView. Depois que comeceia a ler o link que você mandou pensei, "porque ele colocou o link de quando eu estava aprendendo sobre Datagrid", aí foi que reparei que coloquei o tópico "DataGrid" Me perdoe cara.Mas corrigindo, essas dúvidas acimas são para ListView.Como eu faço para controlar formatação?Já tentei usar igual fiz no DataGrid ma não está dando certo. Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 19, 2005 Denunciar Share Postado Dezembro 19, 2005 Na ListView é mais fácil que na DataGrid. Veja os exemplos abaixo: ListView1.View = View.Details ListView1.Columns.Add("coluna1", 100, HorizontalAlignment.Left) ListView1.Columns.Add("coluna2", 100, HorizontalAlignment.Left) ListView1.ForeColor = Color.Blue Dim it As New ListViewItem("teste") it.SubItems.Add("outro teste") ListView1.Items.Add(it) it = New ListViewItem("mais um teste") it.SubItems.Add("e ainda outro teste") it.ForeColor = Color.Red ListView1.Items.Add(it)Certo? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Dezembro 20, 2005 Autor Denunciar Share Postado Dezembro 20, 2005 Legal cara entendi!Como eu faço para não permitir que o usuário consiga redimensionar o tamanho das coluna com o mouse?Porque eu deixo um tamanho mas pode ser redimensionado com o mouse e quero tirar isso, para ficar padrão Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 20, 2005 Denunciar Share Postado Dezembro 20, 2005 Legal cara entendi!Como eu faço para não permitir que o usuário consiga redimensionar o tamanho das coluna com o mouse?Porque eu deixo um tamanho mas pode ser redimensionado com o mouse e quero tirar isso, para ficar padrãoNão conheço nenhuma propriedade da ListView que faça isso. Portanto a saída seria interceptar a mensagem enviada para o controle ao redimensionar uma coluna (pelo método WndProc). Vou tentar isso, mas não garanto sucesso (nunca fiz isso antes).Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Dezembro 21, 2005 Autor Denunciar Share Postado Dezembro 21, 2005 Firmeza cara valeu pela força! Vou pesquisar também se eu descobrir posto aqui. Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 22, 2005 Denunciar Share Postado Dezembro 22, 2005 Com algumas pesquisas na Net, consegui montar a seguinte classe: Public Class MyListView Inherits ListView Private Const WM_NOTIFY = &H4E Private Const HDN_FIRST = -300& Private Const HDN_BEGINTRACK = (HDN_FIRST - 26) <StructLayout(LayoutKind.Sequential)> _ Private Structure NMHDR Public hWndFrom As Int32 Public idFrom As Int32 Public code As Int32 End Structure Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) Dim foi As Boolean = False If m.Msg = WM_NOTIFY Then Dim nm As NMHDR = CType(m.GetLParam(GetType(NMHDR)), NMHDR) If nm.code = HDN_BEGINTRACK Then m.Result = New IntPtr(1) foi = True End If End If If Not foi Then MyBase.WndProc(m) End If End Sub End ClassBasta ir na região "Windows Form Designer generated code" e trocar todos os System.Windows.Forms.ListView por MyListView.Certo? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Dezembro 27, 2005 Autor Denunciar Share Postado Dezembro 27, 2005 Cara valeu funcionou! Agora estou estudando a classe para ver se eu entendo, se eu tiver alguma dúvida vou perguntar!At + cara Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 27, 2005 Denunciar Share Postado Dezembro 27, 2005 Cara valeu funcionou! Agora estou estudando a classe para ver se eu entendo, se eu tiver alguma dúvida vou perguntar!At + cara Beleza. Qualquer coisa, 'stamos aí.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Dezembro 28, 2005 Autor Denunciar Share Postado Dezembro 28, 2005 Cara como eu falei, usei e funcionou, mas estou tentando enteder essa classe que você criou mas não estou conseguindo! você poderia me explicar essa classe que você criou! Se não for pedir muito um passo à passo. É que eu não quero apenas pegar o código e usar quero entender ele, para usar melhor Valeu Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 31, 2005 Denunciar Share Postado Dezembro 31, 2005 Cara como eu falei, usei e funcionou, mas estou tentando enteder essa classe que você criou mas não estou conseguindo! você poderia me explicar essa classe que você criou! Se não for pedir muito um passo à passo. É que eu não quero apenas pegar o código e usar quero entender ele, para usar melhor Não sei se você é familiarizado com a programação Windows, mas todo o controle e ativação de eventos de uma janela ("janela" aqui é um termo bem amplo, abrangendo também botões, caixas de texto, listviews, datagrids, etc.) é feito através de mensagens. Estas mensagens são valores numéricos que representam o que a janela deve fazer (ou simplesmente detectar). O que a rotina WncProc nos permite é interceptar estas mensagens e decidir se elas devem ou não ser executadas (ou até mesmo alterar seus parâmetros). Certas mensagens podem ser utilizadas em diversos casos diferentes. Esse é justamente o caso da mensagem WM_NOTIFY que detectamos na rotina WndProc. As mensagens podem ter parâmetros que são informações úteis para a execução da mesma. Ao redimensionar uma coluna da ListView é enviada uma mensagem WM_NOTIFY com um parâmetro que é uma estrutura NMHDR. Nesta estrutura, também segue uma informação importante que está na propriedade Code. Se esta propriedade for igual a HDN_BEGINTRACK é porque o usuário está começando a tentar alterar o tamanho da coluna. Neste caso, atribui-se o valor 1 à propriedade Result, indicando assim que a alteração foi concluída e também ignora-se a execução desta mensagem ao não chamar a rotina WndProc da classe base.Como cada controle pode ter mensagens específicas, pode ser que isso só sirva apenas para a ListView.Sacou? Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
alexandremanowar
E a e pessoal beleza
Eu gostaria de saber como eu faço formatação no Data Grid, tipo largura de coluna, cor de fonte e cor da linha.
Alguém pode me explicar isso?
Valeu
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados