Usando a DataGrid WPF

Uma das críticas ao WPF é que não havia uma DataGrid para mostrar os dados em formato de tabela. Bem, isso é passado. A Microsoft lançou a Datagrid no WPF toolkit, que pode ser baixado em http://www.codeplex.com/wpf. Ela é bastante poderosa e versátil. Se você não sabe como usá-la, pode checar meu artigo no portal Linha de Código em http://www.linhadecodigo.com.br/Artigo.aspx?id=2163

Vale a pena dar uma conferida!

Published Fri, Dec 12 2008 17:30 by bsonnino

Filed under:

Comments

# re: Usando a DataGrid WPF@ Sunday, December 14, 2008 6:28 AM

Bruno, era isto q/ estava faltando. Muito Bom

Valeu.

Mauro Otoni

# re: Usando a DataGrid WPF@ Saturday, April 18, 2009 5:41 PM

Bruno, estou formatando a coluna do DataGrid da seguinte forma:

<my:DataGrid AlternatingRowBackground="LightBlue" AutoGenerateColumns="False" Background="White" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding}" Margin="6,76,6,0" Name="dgdCaixa"

                        ColumnHeaderStyle="{StaticResource columnHeaderStyle}" Height="198" VerticalAlignment="Top">

               <my:DataGrid.Columns>

                   <my:DataGridTextColumn Binding="{Binding Path=Controle}" Header="Controle" Visibility="Hidden" Width="0" />

                   <my:DataGridTextColumn Binding="{Binding Path=Data, StringFormat='dd/MM/yyyy'}" Header="" Width="70" />

                   <my:DataGridTextColumn Binding="{Binding Path=Hora}" Header="Hora" Width="70" />

                   <my:DataGridTextColumn Binding="{Binding Path=NDoc}" Header="Nº Doc." Width="70" />

                   <my:DataGridTextColumn Binding="{Binding Path=Historico}" Header="Histórico" Width="500" />

                   <my:DataGridTextColumn Binding="{Binding Entrada, StringFormat='#,##0.00'}" Header="Entrada" Width="70">

                       <my:DataGridTextColumn.CellStyle>

                           <Style>

                               <Setter Property="FrameworkElement.HorizontalAlignment" Value="Right"/>

                           </Style>

                       </my:DataGridTextColumn.CellStyle>

                   </my:DataGridTextColumn>

                   <my:DataGridTextColumn Binding="{Binding Saida, StringFormat='#,##0.00'}" Block.TextAlignment="Right" Header="Saída" SortMemberPath="Saida" Width="70" >

                       <my:DataGridTextColumn.CellStyle>

                           <Style>

                               <Setter Property="FrameworkElement.HorizontalAlignment" Value="Right" />

                           </Style>

                       </my:DataGridTextColumn.CellStyle>

                   </my:DataGridTextColumn>

               </my:DataGrid.Columns>

           </my:DataGrid>

é não consigo colocar o separador de casas decimais das colunas 'Entrada' como ( , )

Desde já agradeço sua atenção, atenciosamente,

Rouseman

desenvolvedorr@hotmail.com

Rouseman

# re: Usando a DataGrid WPF@ Saturday, April 18, 2009 6:01 PM

Faça o seguinte no binding:

Binding="{Binding Saida, StringFormat='#,##0.00'}, ConverterCulture='pt-BR'"

Bruno

bsonnino

# re: Usando a DataGrid WPF@ Sunday, April 19, 2009 9:28 AM

Bruno, show funcionou perfeitamente!

Só um detalhe a ser corrigido a chave fecha no Final...

Binding="{Binding Saida, StringFormat='#,##0.00', ConverterCulture='pt-BR'}"

Abraços,

Rouseman

# re: Usando a DataGrid WPF@ Tuesday, October 13, 2009 2:08 PM

Olá Bruno!

Eu vi seu WebCast sobre o dataGrid no MSDN, e tentei fazer o exemplo....

só que o meu VS 2008 parece não ter a mesma configuração, pois não consigo adicionar os componentes da mesma forma que você(arrastar e colar no código) e nem encontrar outros componentes como DataGridColunmHeader e RowStyle.

Tem como me ajudar para fazer essa configuração no meu VS2008?

Saulo

# re: Usando a DataGrid WPF@ Tuesday, October 13, 2009 2:21 PM

Você baixou e instalou o WPFToolkit? (http://codeplex.com/wpf)

bsonnino

# Usando a DataGrid WPF@ Wednesday, October 14, 2009 6:51 AM

Baixei sim!

instalei e ele apareceu la na toolbox, mas algumas coisas que voce tinha na sessão general da toolbox eu não consegui encontrar para adicionar, eu consegui fazer o exemplo, mas foi tudo na mão.

Eu queria saber onde é que eu consigo adicionar por exemplo o objectDataProvider, RowStyle e DataGridColunmHeader.

Saulo

# Usando a DataGrid WPF@ Thursday, October 15, 2009 12:46 PM

Olá!

Estou aqui novamente e com outra dúvida!

Estou iniciando projeto com banco de dados firebird!

E estou tentando fazer com XAML e datagrid do WPFToolKit.

Mas quando os dados para a data grid, são geradas somente as linhas ficando sem os valores e as colunas.

O meu código c# é esse:

   public partial class Window1 : Window

   {

       public Window1()

       {

           try

           {

               InitializeComponent();

               DataSet ds = BD.PreencheDataSet("Select CodMedico, Nome, CRM From Medico Order By CodMedico", "MEDICO");

               DataTable dt = ds.Tables["MEDICO"];

               ArrayList teste = new ArrayList();

               if (dt.Rows.Count > 0)

               {

                   for (int i = 0; dt.Rows.Count > i; i++)

                   {

                       teste.Add(dt.Rows[i]);                      

                   }

                   dtgMedicos.ItemsSource = teste;

                   for (int i = 0; dtgMedicos.Items.Count > i; i++)

                   {

                       MessageBox.Show(dtgMedicos.Items[i].ToString());

                   }

               }

           }

           catch (Exception ex)

           {

               MessageBox.Show(ex.Message.ToString());

           }

       }

   }

e o código XAML é esse:

<Controle:DataGrid

           x:Name="dtgMedicos"            

           AutoGenerateColumns="False"

           AlternationCount="2"

           RowStyle="{StaticResource EstiloLinhas}"

           ColumnHeaderStyle="{StaticResource EstiloHeader}"

           RowHeaderStyle="{StaticResource EstiloHeaderLinhas}"

           HorizontalGridLinesBrush="Cornsilk"

           VerticalGridLinesBrush="Cornsilk"

           Foreground="Black"            HeadersVisibility="All">            

           lsTemplate>

</Controle:DataGrid>

Saulo

Leave a Comment

(required) 
(required) 
(optional)
(required)