2017-10-05 33 views
1

我在行中出現錯誤.Error是Viewstate [「dt」]用作對象和行不包含定義對象'object'不包含'NewRow'的定義,並且沒有可以找到接受'object'類型的第一個參數的擴展方法'NewRow'

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    string Row = e.RowIndex.ToString();   
    DataRow dtrow = default(DataRow); 
    dtrow = ViewState["dt"].Rows[Row]; 
    ViewState["dt"].Rows.Remove(dtrow); 
    GridView1.DataSource = ViewState["dt"]; 
    GridView1.DataBind(); 
    CalculateItemNetAmount(); 
} 
+0

那是錯誤的代碼之前將它轉換爲正確的類型,你的情況DataTable?我沒有看到「NewRow」的呼叫 –

回答

0

你應該投你ViewState["dt"]DataTable第一。

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    string Row = e.RowIndex.ToString();   
    DataRow dtrow = default(DataRow); 
    var dataTable = (DataTable)ViewState["dt"]; 
    dtrow = dataTable .Rows[Row]; 
    dataTable.Rows.Remove(dtrow); 
    GridView1.DataSource = dataTable; 
    GridView1.DataBind(); 
    CalculateItemNetAmount(); 
} 
+0

謝謝...........其工作........... –

+0

@dibyanshuaryan歡迎。另外,請不要忘記標記你的問題的正確答案。 –

0

這是因爲ViewState["dt"]object類型。你需要訪問它的Rows財產一樣

((DataTable)ViewState["dt"]).Rows[Row]; 
相關問題