[英]How clear GridView in asp.net?
我在 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.Tables.Count > 0 AndAlso dataset.Tables(0).Rows.Count > 0 Then grid.DataSource = dataset grid.DataBind() Else grid.DataSource = Nothing grid.DataBind()
如果您使用的是 XAML 定義的網格,請改用以下代碼:
GridView1.Children.Clear();
GridView1.RowDefinitions.Clear();
GridView1.ColumnDefinitions.Clear();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.