如何在 gridview 中读取已删除的列
How to readd removed columns in gridview
我只是有一个问题,我应该如何在 gridview 中再次添加已删除的列。我有一个应用程序,例如,当您选择 1 时,其他列被隐藏,当您选择 2 时,隐藏的列应该出现,我尝试让它可见 true 和 false 但是当我将其数据导出到 excel 时出现另一个问题所有其他隐藏的列也都保存在 excel 中,因为这些列只是隐藏的,所以我开始搜索如何再次添加已删除的列,希望你能帮助我解决这个问题。这就是我删除列的方式。
Public Sub RemoveGridColumn(ByRef Data As GridView, ByVal colName As String)
For x As Integer = 0 To Data.Columns.Count - 1
If Data.Columns(x).HeaderText = colName Then
Data.Columns.RemoveAt(x)
Exit For
End If
Next
End Sub
在隐藏不想导出到 Excel 的列之前,您需要调用 GridView
控件的 DataBind
方法,大致如下:
Protected Sub btnExportExcel_Click(ByVal sender As Object, ByVal e As EventArgs)
'' Set response settings here (header, content type, etc.)
'' Turn paging off so you get all the rows of the grid
GridView1.AllowPaging = False
'' Make sure to bind before you hide anything
GridView1.DataBind()
'' Put logic here to hide columns that need to be hidden
'' Possible from Session/ViewState, etc.
'' Render out to response
End Sub
完整的代码示例(在 VB.NET 和 C# 中),然后查看 ASP.NET GridView Export to Excel - Hide Columns
请考虑使用 CSS 设置印刷品的可见性:
@media print {
.noPrint {
display:none;
}
}
数据绑定事件期间的代码部分应该类似于:
Data.Columns(x).ItemStyle.CssClass = "noPrint"
通过这种方式,您可以使用 javascript 来更改打印可见性:
function hideColumn()
{
col_num = document.getElementById("ColumnToChange").value;
rows = document.getElementById("GridViewId").rows;
for(i=0;i<maxrow;i++) {
rows[i].cells[col_num].style.display="none";
}
}
我只是有一个问题,我应该如何在 gridview 中再次添加已删除的列。我有一个应用程序,例如,当您选择 1 时,其他列被隐藏,当您选择 2 时,隐藏的列应该出现,我尝试让它可见 true 和 false 但是当我将其数据导出到 excel 时出现另一个问题所有其他隐藏的列也都保存在 excel 中,因为这些列只是隐藏的,所以我开始搜索如何再次添加已删除的列,希望你能帮助我解决这个问题。这就是我删除列的方式。
Public Sub RemoveGridColumn(ByRef Data As GridView, ByVal colName As String)
For x As Integer = 0 To Data.Columns.Count - 1
If Data.Columns(x).HeaderText = colName Then
Data.Columns.RemoveAt(x)
Exit For
End If
Next
End Sub
在隐藏不想导出到 Excel 的列之前,您需要调用 GridView
控件的 DataBind
方法,大致如下:
Protected Sub btnExportExcel_Click(ByVal sender As Object, ByVal e As EventArgs)
'' Set response settings here (header, content type, etc.)
'' Turn paging off so you get all the rows of the grid
GridView1.AllowPaging = False
'' Make sure to bind before you hide anything
GridView1.DataBind()
'' Put logic here to hide columns that need to be hidden
'' Possible from Session/ViewState, etc.
'' Render out to response
End Sub
完整的代码示例(在 VB.NET 和 C# 中),然后查看 ASP.NET GridView Export to Excel - Hide Columns
请考虑使用 CSS 设置印刷品的可见性:
@media print {
.noPrint {
display:none;
}
}
数据绑定事件期间的代码部分应该类似于:
Data.Columns(x).ItemStyle.CssClass = "noPrint"
通过这种方式,您可以使用 javascript 来更改打印可见性:
function hideColumn()
{
col_num = document.getElementById("ColumnToChange").value;
rows = document.getElementById("GridViewId").rows;
for(i=0;i<maxrow;i++) {
rows[i].cells[col_num].style.display="none";
}
}