在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();中。

在asp.net中如何清除GridView

只使用空值:

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();