Ir ao conteúdo
  • Cadastre-se

DataGrid em C# - Visual Studio 2012


lucaswb

Posts recomendados

Boa noite.

Estou tentando fazer uma aplicação bem simples mas não estou conseguindo.

O objetivo é criar um aplicativo onde a gente informa um número, por exemplo 10, e preenche um datagrid com um loop for. De 1 até 10.

Só que não estou conseguindo.

Procurei bastante como se preenchia e achei coisas do tipo :


this.dataGridView1.Rows.Add(numero);

Mas não funciona. Ele simplesmente não me mostra as opções ".Rows" nem ".value" nada.

Segue o código :

XAML :


<Window x:Class="Testes.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StatusBar HorizontalAlignment="Left" Height="26" Margin="0,294,0,0" VerticalAlignment="Top" Width="517"/>
<StackPanel HorizontalAlignment="Left" Height="230" Margin="0,80,0,0" VerticalAlignment="Top" Width="517">
<DataGrid Name="grid" AutoGenerateColumns="False" VerticalAlignment="Top"
SelectedItem="Binding Row, Mode=TwoWay">
<DataGrid.Columns>
<DataGridTextColumn Header="valor" Width="100"/>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<Button Content="Iniciar" HorizontalAlignment="Left" Margin="196,35,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click_1"/>
<TextBox Name="numero" HorizontalAlignment="Left" Height="23" Margin="42,35,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
</Grid>
</Window>

E o arquivo em c#


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;

namespace Testes
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void Button_Click_1(object sender, RoutedEventArgs e)
{

int x;
x = Convert.ToInt32(numero.Text);
for (int i = 0; i < x; i++)
{
// gostaria de preencher aqui
}
}

}
}

Obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

Trabalhe com o source, tente usar um DataTable por exemplo :

.aspx

[code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="WebApplication1.index" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<br />
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</div>
</form>
</body>
</html>


.aspx.cs

using System;
using System.Data;

namespace WebApplication1
{
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
DataTable tabela = new DataTable();
tabela.Columns.Add("ITEM");
int max = int.Parse(TextBox1.Text);
for (int i = 0; i < max; i++)
{
tabela.Rows.Add("Item " + (i + 1).ToString());
}
GridView1.DataSource = tabela;
GridView1.DataBind();
}
}
}

Espero ter ajudado.

ATT,

LBarcelosM

Link para o comentário
Compartilhar em outros sites

Tentei assim como você falou :


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;


namespace Testes
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void Button_Click_1(object sender, RoutedEventArgs e)
{


DataTable data = new DataTable();
data.Columns.Add("item");
int x;
x = Convert.ToInt32(numero.Text);
for (int i = 0; i < x; i++)
{
data.Rows.Add(x);
}
grid.DataSource = data;
grid.DataBind();
}

}
}

Mas os comandos

grid.DataSource = data;

grid.DataBind();

ficam sublinhados mostrando que há algo errado.

Detalhe que não tem a opção "GridView" pra adicionar no Toolbox.

Link para o comentário
Compartilhar em outros sites

Mas no toolbox não tem a opção de adicionar esse DataGridView.

Achei isso estranho pois li sobre ele mas não encontrei ele. :S

Tenho que colocar ele manualmente no Arquivo XAML?

(não tenho como testar agora)

Você teria como me passar um exemplo de aplicação desktop utilizando ele?

Muito, muito obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...