![](/img/trans.png)
[英]Javascript Reading ASP GridVIEW BoundField Column which is visible false
[英]How to make gridview column visible true or false dynamically?
我在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
。
我尝试了以下答案
我没有在Visual Studio 2010中找到datarow
事件。任何人都可以帮我设置列可见属性吗?
我的数据表的列结构是
column [0]是Value
列,然后有4个其他列。
我的网格视图的列结构是列[0]是link field
列1是Value field from Dtable
4其他列的Value field from Dtable
这是gridview中动态生成列的完美解决方案
请试试这个:
int indexOfColumn = 1; //Note : Index will start with 0 so set this value accordingly
protected void mygrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.Cells.Count > indexOfColumn)
{
e.Row.Cells[indexOfColumn].Visible = false;
}
}
对于.aspx页面编辑gridview标记如下:
<asp:GridView ID="mygrid" runat="server" AllowPaging="True"
onpageindexchanging="mygrid_PageIndexChanging" PageSize="15"
PersistedSelection="true"
ondatabound="mygrid_DataBound"
OnRowDataBound="mygrid_RowDataBound">
这是一个简单的答案。 创建css如下
.classHide{ display:none }
然后代替column.visible = false
,只需将classHide
CSS类分配给该列。
例如
grdRole.Columns(0).ItemStyle.CssClass = "classHide"
grdRole.Columns(0).HeaderStyle.CssClass = "classHide"
* 强文本 *尝试使用事件ItemDataBound
事件并尝试以下语法动态隐藏列:
mygrid.Columns[1].Visible = false //(Example)
数据表的列数从0开始,而不是从1开始。 所以如果它是第二列,你要隐藏,索引应该是1。
希望这可以帮助..
右键单击gridview并选择Properties然后选择你会在那里找到的事件RowDataBound双击它并在行数据绑定中写这个
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Visible = false;
}
试试这个:
for (int i = 0; i < YourGrid.Rows.Count; i++)
{
(YourGrid.Columns[2]).Visible = false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.