我已經宣佈在C#中的類作爲在訪問表全局聲明,而是填滿的另一種方法
public partial class admin_AnalyseQuery : System.Web.UI.Page
{
llvsMasterpage m;
private const string ASCENDING = " ASC";
private const string DESCENDING = " DESC";
DataTable dt;
這裏一個全局變量,我創建了一個數據表DT作爲全局變量嗎?
現在數據表DT填充方法如屏幕截圖
「BindDatagvAnalyse」 - 這是將數據綁定到網格視圖的方法。
private void BindDatagvAnalyse()
{
Guid SchoolID = Guid.Parse(School.SelectedValue);
Guid YearID = Guid.Parse(Years.SelectedValue);
Guid VersionID = Guid.Parse(Versions.SelectedValue);
Guid LessonID = Guid.Parse(Lessons.SelectedValue);
Guid TeacherID = Guid.Parse(Teachers.SelectedValue);
Guid LearningunitID = Guid.Parse(Learningunits.SelectedValue);
Guid DomainID = Guid.Parse(Domain.SelectedValue);
pnllbl.Visible = true;
string Schoolname = School.SelectedItem.Text;
string Yearname = Years.SelectedItem.Text;
string Versionname = Versions.SelectedItem.Text;
string Lessonnmae = Lessons.SelectedItem.Text;
string Teachername = Teachers.SelectedItem.Text;
string Learningunitname = Learningunits.SelectedItem.Text;
string Domainname = Domain.SelectedItem.Text;
lblinfo.Text = Schoolname + "/" + Yearname + "/" + Lessonnmae + "/" + Versionname + "/" + Teachername + "/" + Domainname + "/" + Learningunitname;
// Guid PeriodID = Guid.Parse(Periods.SelectedValue);
dt = m.bussinesCollection.BussinesDomain.GetAllDetailsForgvanalyse(SchoolID, YearID, LessonID, VersionID, TeacherID, LearningunitID, DomainID);
int count = dt.Rows.Count;
lblcount.Text = count.ToString();
int c = m.bussinesCollection.BussinesDomain.GetAllDetailsForgvanalyseCount(SchoolID, YearID, LessonID, VersionID, TeacherID, LearningunitID, DomainID);
lblstd.Text = c.ToString();
gvAnalyse.DataSource = dt;
gvAnalyse.DataBind();
}
我創建這種類型的方法6將根據下拉菜單選擇創建表,然後調用根據方法和填充相應地gvanalyse其顯示在屏幕上。
現在我已經把一個按鈕,從表中創建Excel表。
在導出Excel按鈕單擊事件我必須創建Excel表格與當前顯示在屏幕中的表格。
對於在按鈕單擊事件我已經做到了這一點
protected void btnexel_Click(object sender, EventArgs e)
{
byte[] Result;
using (MemoryStream ms = new MemoryStream())
{
string school = School.SelectedItem.Text;
string year = Years.SelectedItem.Text;
DataTable final = dt;
// DataTable dt = m.bussinesCollection.BussinesDomain.GetAllDetailsForgvanalyse(SchoolID, YearID, LessonID, VersionID, TeacherID, LearningunitID, DomainID);
string style = @"<style> .textmode { mso-number-format:\@; } </style>";
Response.Write(style);
Result = ms.GetBuffer();
Session["Excel"] = Result;
Session["dt"] = final;
Session["school"] = school;
Session["year"] = year;
Session["pdf/excel"] = "excel/loondiest/analyse";
Response.Redirect("~/admin/DownloadPdf.aspx");
}
}
但是,當我調試它,它總是顯示該表最後& DT都爲null。
我該怎麼辦?
能否請您加入您的實際代碼,所以我們可能會看到你」重新嘗試做? –
我們不知道爲什麼它沒有看到你寫的是什麼;你應該發佈一些代碼。 –
好吧,我將解釋一些屏幕截圖。 –