c#数据集到数据网格

c#数据集到数据网格,c#,datagrid,dataset,C#,Datagrid,Dataset,我想将包含一个表的数据集转换为datagrid,以获得每列的宽度,从而添加多个组标题,这些组标题的宽度正好在上面 我尝试了“mydatagrid.ItemsSource=mydataset.Table[0].defaultview;”,它工作正常 除了此指令没有填充我的datagrid中的任何列,所以我无法获得任何列的宽度 如果有人有想法,非常感谢。您是否设置了AutoGenerateColumns=true 你的问题听起来有点奇怪。您知道,DataGrid是一个web控件,是吗?首先,有两个

我想将包含一个表的数据集转换为datagrid,以获得每列的宽度,从而添加多个组标题,这些组标题的宽度正好在上面

我尝试了“mydatagrid.ItemsSource=mydataset.Table[0].defaultview;”,它工作正常 除了此指令没有填充我的datagrid中的任何列,所以我无法获得任何列的宽度


如果有人有想法,非常感谢。

您是否设置了
AutoGenerateColumns=true


你的问题听起来有点奇怪。您知道,DataGrid是一个web控件,是吗?

首先,有两个DataGrid控件:一个在System.Windows.Forms命名空间中用于Windows窗体,另一个在System.web.UI.WebControl中用于web

无论哪种情况,DataGrid都是一个控件,用于显示网格中数据源的数据。为了显示数据,必须将其绑定到控件

这是文章的引文: 要在运行时在System.Windows.Forms.DataGrid中显示表,请使用SetDataBinding方法将DataSource和DataMember属性设置为有效的数据源


所以我带着一个解决方案回来了。 我的列是空的,因为我的代码是在事件“加载”发生之前定义的,所以现在一切都很完美


感谢datagrid的精确性。

他似乎在使用WinForms控件,而不是ASP.NET控件?好吧,我使用的是WPF,我的datagrid是用于.NET应用程序而不是网站的。我已经成功地将我的datagrid设置为我的数据集,一切正常,但当我调试时,我可以看到,我的datagrid的列集合中没有列,因此我无法迭代以获得每个列的宽度。好的,这是win,而不是web。但我的观点是:它是一个控件,用于显示数据,而不是(至少不是主要的)测量列宽。也就是说:您的网格是否显示数据?您尝试过AutoGenerateColumns吗?当我执行“mydatagrid.ItemsSource=mydataset.Table[0].defaultview;”时,我的datagrid显示数据和列,我可以对datagrid进行排序并执行您可以执行的操作。我的主要问题是我想显示一个自定义交叉表,所以我想在我的datagrid上方创建一个自定义标签,给人一个交叉表的印象,这就是为什么我需要知道每列的宽度来计算一组列的宽度,以便创建一个具有正确宽度的标签,给人一个交叉表的印象。实际上,我正在尝试从数据集填充数据网格。首先,我定义了每一个可以正常工作的列,但我不知道如何添加项。我曾尝试使用datagrid的ItemsSource,但它提供了正确的行数,但我不知道如何为每一列设置每个单元格。您使用的是WinForms还是ASP.NET?我正在为应用程序.NET使用WPF。好的,谢谢您的精确性,但我忘了提到,我正在使用WPF,我的xaml中使用的DataGrid使用名称空间“Microsoft.Windows.Controls”,我不知道如何在xaml中使用其他DataGrid。
dataGrid1.SetDataBinding(SuppliersProducts, "Suppliers");