Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.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# 网格视图的Can宽度';是否可以在codebehind中更改s列的百分比?_C#_Asp.net_Gridview - Fatal编程技术网

C# 网格视图的Can宽度';是否可以在codebehind中更改s列的百分比?

C# 网格视图的Can宽度';是否可以在codebehind中更改s列的百分比?,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个gridview有5列,最后一列只对一些成员可见。 我希望当最后一列gvMessageList.Columns[4]不可见时,它的宽度(以百分比表示)应该指定给第一列gvMessageList.Columns[0] 请告诉我,这怎么可能 我的GridView如下: <asp:GridView ID="gvMessageList" runat="server" Width="100%" AutoGenerateColumns="false" AllowPaging="true" Al

我有一个
gridview
有5列,最后一列只对一些成员可见。 我希望当最后一列
gvMessageList.Columns[4]
不可见时,它的宽度(以百分比表示)应该指定给第一列
gvMessageList.Columns[0]

请告诉我,这怎么可能

我的
GridView
如下:

<asp:GridView ID="gvMessageList" runat="server" Width="100%" AutoGenerateColumns="false" AllowPaging="true" AllowSorting="true"
    DataKeyNames="MESSAGE_ID" CellPadding="4" PageSize="51" EmptyDataText="No Records Found." OnSorting="gvMessageList_Sorting"
    OnPageIndexChanging="gvMessageList_PageIndexChanging" OnRowDataBound="gvMessageList_RowDataBound" GridLines="None"
    CssClass="table table-bordered table-condensed table-hover table-striped">
    <Columns>
        <asp:TemplateField HeaderText="Subject" HeaderStyle-Width="30%" SortExpression="MESSAGE_SUBJECT" HeaderStyle-BackColor="#D9EDF7"
            HeaderStyle-ForeColor="#0088CC">
            <ItemTemplate>
                <asp:HyperLink ID="hlnkMessageSubject" runat="server" Text='<%# ((System.Data.DataRowView)Container.DataItem)["MESSAGE_SUBJECT"] %>'
                    NavigateUrl='<%# ((System.Data.DataRowView)Container.DataItem)["MESSAGE_URL"] %>'>
                </asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="From" HeaderStyle-Width="14%" SortExpression="MESSAGE_FROM" HeaderStyle-BackColor="#D9EDF7"
            HeaderStyle-ForeColor="#0088CC">
            <ItemTemplate>
                <asp:HyperLink ID="hlinkUser" runat="server" Text='<%#((System.Data.DataRowView)Container.DataItem)["MESSAGE_FROM"] %>'
                    NavigateUrl='<%#((System.Data.DataRowView)Container.DataItem)["FROM_URL"] %>'>
                </asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="CREATION_DATE" HeaderText="On" HeaderStyle-Width="15%" HeaderStyle-BackColor="#D9EDF7" HeaderStyle-ForeColor="#0088CC"
            SortExpression="CREATION_DATE" />
        <asp:TemplateField HeaderText="To" HeaderStyle-Width="21%" HeaderStyle-BackColor="#D9EDF7" HeaderStyle-ForeColor="#0088CC">
            <ItemTemplate>
                <asp:Label ID="lblTo" runat="server">
                </asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Broadcast" HeaderStyle-Width="20%" Visible="false" HeaderStyle-BackColor="#D9EDF7" HeaderStyle-ForeColor="#0088CC">
            <ItemTemplate>
                <asp:Label ID="lblBroadcast" runat="server">
                </asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

是否可以使用
gvMessageList.Columns[0].HeaderStyle.Width=??
或类似的方法。为Width属性指定一个新的单位类型。第一个参数是您想要的宽度,第二个参数是要使用的测量值。在下面的示例中,我告诉列为表宽度的50%

gvMessageList.Columns[4].HeaderStyle.Width = New Unit(50, UnitType.Percentage);

您可以按如下方式更改宽度

 GrdDynamic.Columns[4].ItemStyle.Width=Unit.Pixel(500);
 GrdDynamic.Columns[4].ItemStyle.Width=New Unit(50, UnitType.Percentage);

与论坛网站不同,我们不使用“感谢”或“感谢任何帮助”或签名。请参阅“
HeaderStyle.Dispose”
,您希望它做什么?您不需要自己打电话。
 GrdDynamic.Columns[4].ItemStyle.Width=Unit.Pixel(500);
 GrdDynamic.Columns[4].ItemStyle.Width=New Unit(50, UnitType.Percentage);