這可能是一個相當簡單的問題,但我似乎無法找到我正在尋找的答案。編程Gridview瞭解
我一直在用編程方式使用GridView控件,從代碼背後的數據集中加載它。所以這是一個相當簡單的過程,實例化一個新的Gridview,加載數據集,綁定數據,然後加載控件。
但是,我遇到了一個問題,我無法直接從代碼加載到GridView。在.aspx文件我有一個簡單:
<asp:GridView ID="Supp_Data" runat="server" />
在我的創作在GridView背後的代碼如下:
Supp_Data = new GridView();
Supp_Data = OutsideClass.GetData(str_sql);
//Add other features here (such as AllowSorting, GridLines, PageSize, etc.)
Supp_Data.DataBind();
在我的課外:
public static GridView GetData(string str_sql)
{
// string str_sql is simply the sql query that we will get the dataset with.
OdbcConnection dbc_conn = ODBC_Conn(""); //This simply instantiates the connection
OdbcCommand dbc_cmd = null;
OdbcDataAdapter dbc_adpt = null;
DataSet dta_ds = new DataSet();
GridView ret_val = new GridView();
try
{
if (dbc_conn.State != System.Data.ConnectionState.Open) { dbc_conn.Open(); }
dbc_cmd = new OdbcCommand(str_sql, dbc_conn);
dbc_adpt = new OdbcDataAdapter(dbc_cmd);
dbc_adpt.Fill(dta_ds);
ret_val.DataSource = dta_ds;
ret_val.DataBind();
dbc_conn.Close();
}
catch (Exception e)
{
string tst_msg = e.Message;
}
return ret_val;
}
但是這根本不顯示網格。
現在,作爲解決方法(顯示數據),在.aspx文件中添加PlaceHolder並使用PlaceHolder.Controls.Add(Supp_Data)可以很好地顯示數據。
所以我的實際問題是,爲什麼數據不顯示在GridView中,但在PlaceHolder中顯示沒有問題?它是否與我忽略的頁面生命週期有關(我使用Page_Load和Page_Init嘗試了相同的結果)?這肯定會幫助我全面瞭解這個過程。我只是不明白爲什麼它會與一個完美地接近,而與另一個完全不同。
感謝您的任何信息。
你在哪裏/如何綁定網格?你是否檢查你是否不在回帖中並調用綁定網格的方法?關鍵信息需要...... – JonH