2011-08-20 28 views
0

我想在DropDownList selectedindex changed事件中合併數據表。所以我在DropDownList_SelectedIndexChanged事件中編寫了下面的代碼。DataTable.Merge throws錯誤:對象引用未設置爲實例

DataTable dt = (DataTable)POBLL.GetPOAdhocDetail(); 
    DataView dv = new DataView(dt); 
    dv.RowFilter = "IndentTypeID = " + ddlIndentType.SelectedValue + "AND IndentID = " + ddlIndentNumber.SelectedValue; 
    DataTable dtView = dv.ToTable();   
    gvPODetails.DataSource = dtView; 
    gvPODetails.DataBind(); 
    DTMerge.Merge(dtView); 

其中DTMerge是DataTable中,我宣佈它象下面這樣:

public DataTable DTMerge 
    { 
     get 
     { 
     if (ViewState["Merge"] != null) 
     { 
      return (DataTable)ViewState["Merge"]; 
     } 
     else 
      return null; 
     } 
     set 
     { 
     ViewState["Merge"] = value; 
     } 
    } 

但它拋出錯誤「對象引用未設置爲實例」。如何解決這個問題?

回答

2

您請求了DTMerge屬性,這是爲了有效需要存在相應的ViewState。您目前還沒有ViewState,因此您只能訪問DTMerge屬性。

這很可能是問題所在。

+0

但我想合併每個SelectedindexChanged事件相同的數據表。這個怎麼做? – thevan

+0

如果DTMerge爲null,則使其等於dt:DTMerge = dt;如果不是這樣,那麼cobtinue你做什麼。 – Tigran

+0

非常感謝你。它工作正常。 – thevan

相關問題