【发布时间】:2013-11-28 07:14:40
【问题描述】:
我在 asp.net 中使用 GridView,如下所示:
mygrid.DataSource = dTable;
mygrid.DataBind();
if (mygrid.Columns.Count > 1)
{
mygrid.Columns[2].Visible = false;
}
我的网格视图代码如下
<asp:GridView ID="mygrid" runat="server" AllowPaging="True"
onpageindexchanging="mygrid_PageIndexChanging" PageSize="15"
PersistedSelection="true"
ondatabound="mygrid_DataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="Edit" runat="server" Text="Edit" NavigateUrl='<%# Eval("Value", "~/myweppage.aspx?Id=M{0}") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings PageButtonCount="4" />
</asp:GridView>
这里我无法设置visible=false。
我尝试了以下答案
How do I make several gridview columns invisible dynamically?
我在 Visual Studio 2010 中找不到 datarow 事件。谁能帮我设置列的可见属性?
我的数据表的列结构是
column[0] 是 Value 列,然后还有 4 个其他列。
我的网格视图的列结构是
列[0] 为link field
列1 是Value field from Dtable
其他 4 列
【问题讨论】:
-
如果我没有放入 if 条件中,则对象引用未设置错误。如果条件控制没有出现,我把它放进去。
-
你用
AutoGenerateColumns="false"做gridview吗? -
@Bhavesh Kachhadiya 如果我设置 AutoGenerateColumns="false" ptoperty,那么只有在列上可见。来自数据表的列不可见。同样的问题列计数> 1 个条件失败。
-
我已经编辑了答案,它将非常适合您。请查看我编辑的答案。