Fer*_*iza 7 c# asp.net excel gridview
我在asp.net和模块中进行网页选择Excel存档,FileUpLoad然后单击按钮导入.到目前为止我很好.但是在我想要的时刻选择其他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();
Run Code Online (Sandbox Code Playgroud)
并且有了这个我想清除GridView和最后y调用的新方法加载GridView
DataTable ds = new DataTable();
ds = null;
grdResultados.DataSource = ds;
grdResultados.DataBind();
Run Code Online (Sandbox Code Playgroud)
显示我的错误是在grdResultados.DataBind();第二次调用时.
Ali*_*Ali 29
只需使用空值:
grdResultados.DataSource = null;
grdResultados.DataBind();
Run Code Online (Sandbox Code Playgroud)
我解决了这个问题,目前还没有清除GridView
DataTable ds = new DataTable();
ds = null;
grdResultados.DataSource = ds;
grdResultados.DataBind();
Run Code Online (Sandbox Code Playgroud)
这清除了GridView但是没有清除列的名称,这是错误,也必须清除列的名称.要删除列:
for (int i = 0; grdResultados.Columns.Count > i; )
{
grdResultados.Columns.RemoveAt(i);
}
Run Code Online (Sandbox Code Playgroud)
在加载方法中,GridView必须使用以下属性自动生成列:
grdResultados.AutoGenerateColumns = true;
Run Code Online (Sandbox Code Playgroud)
我留下这个以防其他人有同样的问题