Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 DataGrid.Columns.Count始终为0_C# 4.0_Wpfdatagrid - Fatal编程技术网

C# 4.0 DataGrid.Columns.Count始终为0

C# 4.0 DataGrid.Columns.Count始终为0,c#-4.0,wpfdatagrid,C# 4.0,Wpfdatagrid,我有一个DataGrid,其中数据来自数据集,DataGrid被设置 AutoGenerateColumns="true" 现在我想通过DataGrid.Columns.Insert(6,column)代码在索引6处添加一列 问题是DataGrid似乎没有列。我有一个错误,索引应该在范围内 当我尝试计数列时,它每次显示0。但我看到了所有的数据 有什么把戏吗?为什么列数等于0 下面是一些代码: XAML数据网格: <DataGrid AutoGenerateColumns="True"

我有一个DataGrid,其中数据来自数据集,DataGrid被设置

 AutoGenerateColumns="true"
现在我想通过DataGrid.Columns.Insert(6,column)代码在索引6处添加一列

问题是DataGrid似乎没有列。我有一个错误,索引应该在范围内

当我尝试计数列时,它每次显示0。但我看到了所有的数据

有什么把戏吗?为什么列数等于0

下面是一些代码:
XAML数据网格:

<DataGrid AutoGenerateColumns="True"   AutoGeneratingColumn="DataGrid_AutoGeneratingColumnHandler" HorizontalAlignment="Stretch" Name="dgJournal" VerticalAlignment="Stretch" UseLayoutRounding="True" Margin="8,65,8,30" HorizontalGridLinesBrush="Blue" RowHeaderWidth="25" VerticalGridLinesBrush="Blue" MouseDoubleClick="DataGrid_CellDoubleClick" DataGridCell.Selected="DataGrid_GotFocus" />

列在绑定之后出现在gridview中,您将在绑定之前添加。您最好在数据表中添加列,并将其与gridview绑定。

列在绑定后进入gridview,您将在绑定之前添加。您最好在数据表中添加列,并将其与gridview绑定。

尝试以下操作:

         dataGridView1.DataSource = YourDataset;
        dataGridView1.DataMember = "The name of the table inside your dataset";
然后试试其余的。 它应该可以工作…

试试这个:

         dataGridView1.DataSource = YourDataset;
        dataGridView1.DataMember = "The name of the table inside your dataset";
然后试试其余的。
它应该可以工作…

您可以在加载datagrid后对列进行计数,因此您只需添加

myDataGrid.Loaded+=(s,o)=>
{
   MessageBox.Show(myDataGrid.Columns.Count.ToString());
};

可以在加载datagrid后计算列数,因此只需添加

myDataGrid.Loaded+=(s,o)=>
{
   MessageBox.Show(myDataGrid.Columns.Count.ToString());
};

这是WPF中的数据网格。我想没有可用的数据源。很抱歉,没有看到您的标记。。。如果是这样的话,@Adil在WinForms中是正确的,我已经尝试过了,而且效果很好。但是WPF对于更新的应用程序应该更好。但WPF似乎更难,因为WinForms是WPF中的数据网格,我想没有可用的数据源。很抱歉,没有看到您的标记。。。如果是这样的话,@Adil在WinForms中是正确的,我已经尝试过了,而且效果很好。但是WPF对于更新的应用程序应该更好。但WPF似乎更难,因为WinFormsI已将DataGrid的ItemsSource设置为:DataGrid.ItemsSource=dataset.Tables[0].DefaultView。我已将DataGrid的ItemsSource设置为:DataGrid.ItemsSource=dataset.Tables[0].DefaultView。