开发者

Nothing shows up in datagrid wpf

I am using datagrid view. Data gets added in the table and from the watch window, I can see that there is 1 row included in table but nothing gets displayed in datagrid.

Here is the code:

 DataTable PopulateDataGrids(DataGrid grid, List<RetrievedEmailData> data)
 开发者_运维知识库{
            DataTable table = new DataTable();
            table.Columns.Add("Sr No");
            table.Columns.Add("Company Name");
            table.Columns.Add("Email");

            int count = 0;

            DataRow row;

            foreach (RetrievedEmailData item in data)
            {
                count++;
                row = table.NewRow();
                row["Sr No"] = count.ToString();
                row["Company Name"] = item.Name;
                row["Email"] = item.Email;
                table.Rows.Add(row);
            }
            return table;
        }

This is the method call:

dataGridBoatCompanyList.DataContext = PopulateDataGrids(dataGridBoatCompanyList, boat);

XAML markup:

<DataGrid AutoGenerateColumns="True" Height="322" HorizontalAlignment="Left" Margin="6,6,0,0" Name="dataGridBoatCompanyList" VerticalAlignment="Top" Width="500" />


Try adding ItemsSource="{Binding}" to your grid

<DataGrid DataContext="{Binding}" AutoGenerateColumns="True" Height="322" HorizontalAlignment="Left" Margin="6,6,0,0" Name="dataGridBoatCompanyList" VerticalAlignment="Top" Width="500" />

also, you in your method, PopulateDataGrids() the first parameter is not being used. If all you are trying to do is populate the grid then you can skip that method and just use

dataGridBoadCompanyList.ItemsSource = new ObservableCollection<RetrievedEmailData>(boat); 

EDIT:

If I try this

void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
            dataGridBoatCompanyList.ItemsSource =
                new ObservableCollection<RetrievedEmailData>(new[]
                                                                 {
                                                                     new RetrievedEmailData
                                                                         {Email = "dfsd", Name = "fadsfds"}
                                                                 });
        }

and

<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="True" Height="322" HorizontalAlignment="Left" Margin="6,6,0,0" Name="dataGridBoatCompanyList" VerticalAlignment="Top" Width="500" />

I get a populated list like this

Nothing shows up in datagrid wpf


Its hard to tell without seeing the XAML definition of your DataGrid, but maybe you mean to do

dataGridBoatCompanyList.ItemsSource = PopulateDataGrids(dataGridBoatCompanyList, boat);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜