我正在使用divexpress pivotgrid 控件。
我想做保存和恢复布局。我可以简单地使用Session
. 但我不知道如何将它保存到我的 SQL 数据库中。
此代码没有数据库 更新
protected void ASPxButton1_Click(object sender, EventArgs e)
{
Session["Layout"] = ASPxPivotGrid1.SaveLayoutToString();
MemoryStream stream = new MemoryStream(byteArray);
string cs = ConfigurationManager.ConnectionStrings["HQWebMatajer13"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "INSERT INTO [HQWebMatajer].[dbo].[ReportSave]([UserID],[ReportName],[UserFileName],[ReportData])VALUES('faisal.3012','TotalSales','faisalxxx',@ReportData)";
cmd.Parameters.AddWithValue("@ReportData", stream);
con.Open();
cmd.ExecuteNonQuery();
}
//divServer.InnerHtml = Session["Layout"].ToString();
}
protected void ASPxButton2_Click(object sender, EventArgs e)
{
string text = "";
string cs = ConfigurationManager.ConnectionStrings["HQWebMatajer13"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select reportdata from [HQWebMatajer].[dbo].[ReportSave] where UserID='faisal.3012'";
con.Open();
string xxx = cmd.ExecuteScalar().ToString();
StreamReader reader = new StreamReader(xxx);
text = reader.ReadToEnd();
}
ASPxPivotGrid1.LoadLayoutFromString(text);
}
更新:保存到数据库正在工作,但是当我尝试从数据库恢复时,它会引发以下错误
System.IO.FileNotFoundException: 找不到文件'C:\Program Files (x86)\IIS Express\System.Byte[]。
在这条线上
StreamReader reader = new StreamReader(xxx);
我不知道如何转换以及在哪里转换。在此链接中的 devexpress 中提出了相同的问题。. 他们提到了这个 stackoverflow。但是我不明白如何将其转换为我的场景。
谢谢