📄 defaultcs.aspx.cs
字号:
using System;
using System.Data;
using System.Data.OleDb;
using System.Web.UI.WebControls;
using Telerik.QuickStart;
using Telerik.WebControls;
namespace Telerik.GridExamplesCSharp.Programming.WebMail
{
public abstract class DefaultCS : XhtmlPage
{
protected Telerik.WebControls.RadGrid FoldersTree;
protected System.Web.UI.WebControls.Button Button1;
protected Telerik.WebControls.RadGrid RadGrid1;
private string CurrFolder
{
get
{
object res = this.ViewState["CurrFolder"];
if ( res != null )
{
return (string)res;
}
return "Inbox";
}
set
{
this.ViewState["CurrFolder"] = value;
}
}
private void RadGrid1_NeedDataSource(object source, Telerik.WebControls.GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = GetDataTable("SELECT * FROM Mails Where FolderName = '" + this.CurrFolder + "'");
}
protected void ToggleRowSelection(object sender, EventArgs e)
{
((sender as CheckBox).Parent.Parent as GridItem).Selected = (sender as CheckBox).Checked;
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.FoldersTree.NeedDataSource += new Telerik.WebControls.GridNeedDataSourceEventHandler(this.FoldersTree_NeedDataSource);
this.FoldersTree.DetailTableDataBind += new Telerik.WebControls.GridDetailTableDataBindEventHandler(this.FoldersTree_DetailTableDataBind);
this.FoldersTree.SelectedIndexChanged += new System.EventHandler(this.FoldersTree_SelectedIndexChanged);
this.RadGrid1.NeedDataSource += new Telerik.WebControls.GridNeedDataSourceEventHandler(this.RadGrid1_NeedDataSource);
this.PreRender += new System.EventHandler(this.grid_PreRender);
}
#endregion
private void FoldersTree_NeedDataSource(object source, Telerik.WebControls.GridNeedDataSourceEventArgs e)
{
FoldersTree.DataSource = GetDataTable("SELECT * FROM Folders");
}
private void FoldersTree_DetailTableDataBind(object source, Telerik.WebControls.GridDetailTableDataBindEventArgs e)
{
GridDataItem parentItem = e.DetailTableView.ParentItem as GridDataItem;
if ( e.DetailTableView.DataMember == "SubFolders" )
{
e.DetailTableView.DataSource = GetDataTable("SELECT * FROM SubFolders where ParentFolder = '" + parentItem["FolderName"].Text + "'");
}
}
private void grid_PreRender(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
FoldersTree.Items[3].Selected = true;
}
}
private void FoldersTree_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.CurrFolder = (FoldersTree.SelectedItems[0].Cells[3].Controls[0] as LinkButton).Text;
RadGrid1.CurrentPageIndex = 0;
RadGrid1.Rebind();
}
private DataTable GetDataTable(String queryString)
{
OleDbConnection MyOleDbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/Grid/Data/Access/Mail.mdb"));
OleDbDataAdapter MyOleDbDataAdapter = new OleDbDataAdapter();
MyOleDbDataAdapter.SelectCommand = new OleDbCommand(queryString, MyOleDbConnection);
DataTable myDataTable = new DataTable();
MyOleDbConnection.Open();
try
{
MyOleDbDataAdapter.Fill(myDataTable);
}
finally
{
MyOleDbConnection.Close();
}
return myDataTable;
}
protected override void RaisePostBackEvent(System.Web.UI.IPostBackEventHandler sourceControl, string eventArgument)
{
base.RaisePostBackEvent (sourceControl, eventArgument);
if(sourceControl == RadGrid1)
{
if(eventArgument == "Rebind" && FoldersTree.SelectedItems[0].Cells[3].Controls.Count > 0)
{
this.CurrFolder = (FoldersTree.SelectedItems[0].Cells[3].Controls[0] as LinkButton).Text;
RadGrid1.CurrentPageIndex = 0;
RadGrid1.Rebind();
}
if(eventArgument == "DeleteSelected" && FoldersTree.SelectedItems.Count > 0)
{
}
}
if(sourceControl == FoldersTree)
{
if(eventArgument == "Rebind")
{
this.CurrFolder = "Inbox";
FoldersTree.Items[3].Selected = true;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -