在asp.net中如何清除GridView
本文关键字:清除 GridView 何清除 asp net | 更新日期: 2023-09-27 18:06:53
我在asp.net和一个模块中创建了一个网页,选择了一个带有FileUpLoad
的Excel档案,然后单击按钮导入。到目前为止我很好。但在我想选择其他Excel档案并点击导入按钮的时候,不要清除GridView
并显示错误。我尝试这样做是因为我在其他类似的问题中看到了这一点。
用这个我加载网格
Conn = string.Format(Conn, DireccionArchivo, MostrarHDR);
OleDbConnection ConnExcel = new OleDbConnection(Conn);
OleDbCommand CmdExcel = new OleDbCommand();
OleDbDataAdapter Oda = new OleDbDataAdapter();
DataTable Dt = new DataTable();
CmdExcel.Connection = ConnExcel;
ConnExcel.Open();
CmdExcel.CommandText = "SELECT * From ["Page1$"]";
Oda.SelectCommand = CmdExcel;
Oda.Fill(Dt);
ConnExcel.Close();
grdResultados.Caption = Path.GetFileName(DireccionArchivo);
grdResultados.DataSource = Dt;
grdResultados.DataBind();
用这个我想清除GridView
和最后一次调用的新的加载GridView
的方法
DataTable ds = new DataTable();
ds = null;
grdResultados.DataSource = ds;
grdResultados.DataBind();
当第二次调用时,显示的错误在grdResultados.DataBind();
中。
只使用空值:
grdResultados.DataSource = null;
grdResultados.DataBind();
我解决了这个问题,现在用清除了GridView
DataTable ds = new DataTable();
ds = null;
grdResultados.DataSource = ds;
grdResultados.DataBind();
这清除了GridView,但没有清除列的名称,这就是错误,还必须清除列的名字。删除列:
for (int i = 0; grdResultados.Columns.Count > i; )
{
grdResultados.Columns.RemoveAt(i);
}
并且在加载GridView的方法中,必须使用以下属性自动生成列:
grdResultados.AutoGenerateColumns = true;
我留下这个,以防其他人有同样的问题
尝试这个
grdResultados.DataSource = null;
或
grdResultados.Rows.Clear();
然后重新绑定网格视图
int gvHasRows = grdResultados.Rows.Count;
if (gvHasRows > 0)
{
grdResultados.Columns.Clear();
grdResultados.DataBind();
}
在尝试清除之前,首先检查Gridview中是否有数据。行没有清除功能。
如果使用会话,请清除会话示例:
DataTable ds = new DataTable();
ds = null;
GV.DataSource = ds;
GV.DataBind();
for (int i = 0; GV.Columns.Count > i; )
{
GV.Columns.RemoveAt(i);
}
ViewState["CurrentData"] = null;
只使用列名创建一个空数据表,然后重新绑定
您可以简单地执行以下操作:
GridView1.SelectedIndex = -1;
If dataset IsNot Nothing AndAlso dataset。表格。计数>0 AndAlso数据集。表(0(.行计数>0然后网格DataSource=数据集网格DataBind((其他的网格DataSource=无网格DataBind((
如果您使用XAML定义的网格,请使用以下内容:
GridView1.Children.Clear();
GridView1.RowDefinitions.Clear();
GridView1.ColumnDefinitions.Clear();