Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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
GridView列宽问题C#_C#_.net_Gridview - Fatal编程技术网

GridView列宽问题C#

GridView列宽问题C#,c#,.net,gridview,C#,.net,Gridview,我试图在C#中设置Gridview中列的宽度,但它根本不起作用。我尝试通过以下方法设置标题样式和项目样式: GridView1.Columns[0].ItemStyle.Width = Unit.Pixel(200); 标题样式也是如此。所有这些似乎都不起作用。我在网上看到很多论坛,人们都有类似的问题,但在查找了大约1小时3000万之后,我仍然找不到一个也有解决方案的论坛 还有一个规定-我的网格中的所有列都是动态的,所以它必须是我可以通过编程设置的-而不是在标记中 我感谢在这个问题上的任何帮助

我试图在C#中设置Gridview中列的宽度,但它根本不起作用。我尝试通过以下方法设置标题样式和项目样式:

GridView1.Columns[0].ItemStyle.Width = Unit.Pixel(200);
标题样式也是如此。所有这些似乎都不起作用。我在网上看到很多论坛,人们都有类似的问题,但在查找了大约1小时3000万之后,我仍然找不到一个也有解决方案的论坛

还有一个规定-我的网格中的所有列都是动态的,所以它必须是我可以通过编程设置的-而不是在标记中

我感谢在这个问题上的任何帮助


编辑:在Jon的帮助下,通过其他一些研究,我认为问题在于我没有在标记中定义任何列。然而,我还没有弄明白如何解决这个问题。我无法在标记中放置列,因为表是使用后端的转发器生成的。如果有人对此有任何见解,请告诉我。

我也有同样的问题。我意识到,由于我正在将网格数据绑定到数据源,并且由于我的gridview具有自动调整列大小的属性,因此无法在之后设置列的宽度。如果将该属性更改为false,则应该能够通过编程调整其大小

编辑:这是GridView标记中需要的标记:

<Columns>                                
    <asp:BoundField DataField="your_database_column" />
    <asp:BoundField DataField="your_next_database_column" />
    ...                                           
</Columns>

...                                           

只需设置
GridView1.Columns[0].ItemStyle.Width=Unit.Pixel(100)应该这样做。执行此操作时,相应的td应包含style=“width:100px”。header元素的宽度不需要修改,因为它是自动修改的


同时在Gridview声明中设置
AutoGenerateColumns=“false”

问题,为什么不在grid view columns属性中声明列?@Kevin,他说他不想在标记中设置它们,因为它们是动态的。你可以将其绑定到mvvm中的属性。wpf的优点是它对任何事情都非常灵活。不幸的是,这个问题与wpf无关,因此不适用。感谢你及时的回复。必须设置为false的属性的名称是什么。你知道吗?如果没有,我就开始到处找它!它实际上并不叫自动调整大小,我相信它叫自动生成列。将该属性设置为false。是否将网格数据绑定?是的,绑定到SQL Server db表。我想我知道它是什么,我特别记得这样做过。如果GridView标记中没有该元素,程序将假定没有列。元素中有多少列就是程序认为有多少列。如果这对您不起作用,您可以尝试发布gridview的声明吗?很可能您正在其他地方覆盖宽度。不幸的是,这不起作用-这是我尝试的第一种方法,因为我认为这会解决问题。这很奇怪。您可以编辑您的问题并添加声明标记吗?