我使用asp.net GridView显示数据,我有9列来自数据库,我必须隐藏最后两列和那些列的记录。我正在使用GridView RowDatabound事件来隐藏列和记录。 当我从VS运行我的应用程序时它工作正常,即使我在本地IIS上发布它,它工作正常,但是当我实时部署它时,它给出了以下异常:
对象引用未设置为实例
我对两个发布都使用相同的数据库 这是我的代码
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
</asp:GridView>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridView1.HeaderRow.Cells[7].Visible = false;
GridView1.HeaderRow.Cells[8].Visible = false;
e.Row.Cells[7].Visible = false;
e.Row.Cells[8].Visible = false;
}
}
使用DataTable完成数据绑定
var data = MyClass.GetHistory();//it returns DataTable
GridView1.DataSource = data;
GridView1.DataBind();
答案 0 :(得分:0)
如果我是正确的,你试图隐藏第7列和第8列,然后在绑定datasource
后执行此操作,
GridView1.Columns[7].Visible = false;
GridView1.Columns[8].Visible = false;