E
Earl Teigrob
I have created a datagrid with search text boxes on the page that allow the
user to filter the list. If I use view state, as in the Example 1,
everything works perfectly. However, I would like to disable view state and
regenerate the datagrid on every page load/post back. However, when I set
EnableViewState="false" and move the BindDataGrid call to the main body of
the Page Load method (Example 2), everything works fine visually but
clicking on an event that uses
DataGrid1.DataKeys[e.Item.ItemIndex]
produces the DataKey for the previous datagrid indexItem, not the current
one.
I realize that I must regenerate all controls on a postback and that I must
not be doing this correctly but what am I doing wrong???
(Complete codebehind listing at bottom of the post)
Thanks for your help
Earl
//EXAMPLE 1: DATAGRID AND SEARCH FILTER WITH ENABLEVIEWSTATE=TRUE
private void DataBindGrid()
{
string s = Convert.ToString(Application["JeWebSite_CS"]);
JumpDbDataClass r = new
JumpDbDataClass(Convert.ToString(Application["JeWebSite_CS"]));
DataSet ds = r.Select(SortOrder, SortAsc, 0, RedirectKey1.Text,
DisplayName1.Text, State1.Text, Chain1.Text);
DataGrid1.CurrentPageIndex=CurrentPageIndex;
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
}
private void Page_Load(object sender, System.EventArgs e)
{
if (!(Page.IsPostBack))
{
DataBindGrid();
}
private void Search1_Click(object sender, System.EventArgs e)
{
DataBindGrid();
}
//EXAMPLE 2: DATAGRID AND SEARCH FILTER WITH ENABLEVIEWSTATE=FALSE
(same as above except)
private void Page_Load(object sender, System.EventArgs e)
{
DataBindGrid();
}
//EXAMPLE 3: ENTIRE PAGE CODEBEHIND
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using csCommonLibrary;
using csCommonLibrary.Security;
using csJumpDb.JumpDbDataObjects;
using System.Data.SqlClient;
using System.Web.Security;
namespace JeIntranet
{
/// <summary>
/// Summary description for main.
/// </summary>
public abstract class JumbDbList :
JeIntranet.UserControls.WebUserControlDerived
//public abstract class main : System.Web.UI.UserControl
{
public JumbDbList():base(2, "jumpdb.section")
{
}
enum mode {none, edit, add};
protected System.Web.UI.WebControls.TextBox StateName1;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.Literal StatusMessage;
protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.TextBox StateDesc2;
protected System.Web.UI.WebControls.TextBox StateId1;
protected System.Web.UI.WebControls.TextBox pkState5;
protected System.Web.UI.WebControls.TextBox RedirectKey1;
protected System.Web.UI.WebControls.TextBox DisplayName1;
protected System.Web.UI.WebControls.TextBox State1;
protected System.Web.UI.WebControls.TextBox Chain1;
protected System.Web.UI.WebControls.Button Search1;
protected System.Web.UI.WebControls.Panel pnlAddButton1;
protected System.Web.UI.HtmlControls.HtmlTableRow AddButtonRow;
protected System.Web.UI.HtmlControls.HtmlInputButton Button1;
protected System.Web.UI.HtmlControls.HtmlTableRow ShowMessage;
protected System.Web.UI.HtmlControls.HtmlInputButton Add1;
protected System.Web.UI.WebControls.CustomValidator CustomValidator1;
private void Page_Load(object sender, System.EventArgs e)
{
if (Common.RightsTo("jumpdb.admin"))
AddButtonRow.Visible=true;
DisplayName1.Attributes.Add("style","width:486");
if (!(Page.IsPostBack))
{
RedirectKey1.Text=(Request.Params["RedirectKey"]==null)?"":Request.Params["R
edirectKey"];
DisplayName1.Text=(Request.Params["DisplayName"]==null)?"":Request.Params["D
isplayName"];
State1.Text=(Request.Params["State"]==null)?"":Request.Params["State"];
Chain1.Text=(Request.Params["Chain"]==null)?"":Request.Params["Chain"];
CurrentPageIndex=(Request.Params["CurrentPageIndex"]==null)?0:Convert.ToInt3
2(Request.Params["CurrentPageIndex"]);
SortOrder=(Request.Params["SortOrder"]==null)?1:Convert.ToInt32(Request.Para
ms["SortOrder"]);
SortAsc=(Request.Params["SortAsc"]==null)?true:Convert.ToBoolean(Request.Par
ams["SortAsc"]);
}
DataBindGrid();
}
private void DataBindGrid()
{
string s = Convert.ToString(Application["JeWebSite_CS"]);
JumpDbDataClass r = new
JumpDbDataClass(Convert.ToString(Application["JeWebSite_CS"]));
DataSet ds = r.Select(SortOrder, SortAsc, 0, RedirectKey1.Text,
DisplayName1.Text, State1.Text, Chain1.Text);
DataGrid1.CurrentPageIndex=CurrentPageIndex;
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
}
private void DataGrid1_DeleteCommand(object sender,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string s = sender.ToString();
string x = e.Item.Width.ToString();
int pkState = (int) DataGrid1.DataKeys[e.Item.ItemIndex];
if (StatMode==mode.none)
{
JumpDbDataClass r = new
JumpDbDataClass(Convert.ToString(Application["JeWebSite_CS"]));
r.Delete(Convert.ToInt32(DataGrid1.DataKeys[e.Item.ItemIndex]));
DataBindGrid();
}
else
{
StatusMessage.Text="Can not delete a State while status in " +
StatMode.ToString() + " mode";
}
}
private void DataGrid1_SortCommand(object sender,
System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
if (StatMode==mode.none)
{
int SortExpression=Convert.ToInt32(e.SortExpression);
SortAsc = newSortType(SortExpression);
SortOrder = SortExpression;
DataBindGrid();
}
else
StatusMessage.Text="Can not sort while status in " + StatMode.ToString() + "
mode";
}
private bool newSortType(int SortExp)
{
if (SortOrder==SortExp)
{
return SortAsc==true?false:true;
}
else
return true;
}
private void DataGrid1_ItemCreated (Object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
WebControl button = (WebControl) e.Item.Cells[6].Controls[0];
button.Attributes.Add ("onclick", "return confirm (\"Are you sure?\");");
}
}
private void Datagrid1_PreRender(Object s, EventArgs e)
{
}
private mode StatMode
{
get
{
object x = ViewState["StatMode"];
return x==null?mode.nonemode)x;
}
set
{
ViewState["StatMode"] = value;
}
}
private int SortOrder
{
get
{
object x = ViewState["SortOrder"];
return x==null?1int)x;
}
set
{
ViewState["SortOrder"] = value;
}
}
private bool SortAsc
{
get
{
object x = ViewState["SortAsc"];
return x==null?truebool)x;
}
set
{
ViewState["SortAsc"] = value;
}
}
private int CurrentPageIndex
{
get
{
object x = ViewState["CurrentPageIndex"];
return x==null?0int)x;
}
set
{
ViewState["CurrentPageIndex"] = value;
}
}
private string RedirectKey
{
get
{
object x = RedirectKey1.Text;
return Convert.ToString(x).Length==0?nullstring)x;
}
}
private string DisplayName
{
get
{
object x = DisplayName1.Text;
return Convert.ToString(x).Length==0?nullstring)x;
}
}
private string State
{
get
{
object x = State1.Text;
return Convert.ToString(x).Length==0?nullstring)x;
}
}
private string Chain
{
get
{
object x = Chain1.Text;
return Convert.ToString(x).Length==0?nullstring)x;
}
}
private void DataGrid1_PageChanged(object sender,
System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
CurrentPageIndex=e.NewPageIndex;
DataBindGrid();
}
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs
e)
{
CurrentPageIndex=0;
DataBindGrid();
}
private void TextBox4_TextChanged(object sender, System.EventArgs e)
{
}
private void Search1_Click(object sender, System.EventArgs e)
{
CurrentPageIndex=0;
DataBindGrid();
}
private void DataGrid1_ItemCommand(object sender,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int i, k;
if (e.CommandName=="Edit")
{
if (StatMode==mode.none)
{
i = e.Item.ItemIndex;
k = Convert.ToInt32(DataGrid1.DataKeys[e.Item.ItemIndex]);
Response.Redirect("default.aspx?page=Pages/JumpDb/JumpDbDetail.ascx"
+ "&pkRedirectTable=" + DataGrid1.DataKeys[e.Item.ItemIndex]
+ "&viewmode=Edit"
+ "&RedirectKey=" + RedirectKey
+ "&DisplayName=" + DisplayName
+ "&State=" + State
+ "&Chain=" + Chain
+ "&SortOrder=" + SortOrder
+ "&SortAsc=" + SortAsc
);
}
else
StatusMessage.Text="Can not manage role permissions while status in " +
StatMode.ToString() + " mode";
}
else
{
if (e.CommandName=="View")
{
if (StatMode==mode.none)
Response.Redirect("default.aspx?page=Pages/JumpDb/JumpDbDetail.ascx"
+ "&pkRedirectTable=" + DataGrid1.DataKeys[e.Item.ItemIndex]
+ "&viewmode=View"
+ "&RedirectKey=" + RedirectKey
+ "&DisplayName=" + DisplayName
+ "&State=" + State
+ "&Chain=" + Chain
+ "&SortOrder=" + SortOrder
+ "&SortAsc=" + SortAsc
);
else
StatusMessage.Text="Can not manage role permissions while status in " +
StatMode.ToString() + " mode";
}
}
}
private void Button1_ServerClick(object sender, System.EventArgs e)
{
Response.Redirect("index.aspx");
}
private void Add1_ServerClick(object sender, System.EventArgs e)
{
if (StatMode==mode.none)
Response.Redirect("default.aspx?page=Pages/JumpDb/JumpDbDetail.ascx"
+ "&viewmode=Add"
+ "&RedirectKey=" + RedirectKey
+ "&DisplayName=" + DisplayName
+ "&State=" + State
+ "&Chain=" + Chain
+ "&SortOrder=" + SortOrder
+ "&SortAsc=" + SortAsc
);
else
StatusMessage.Text="Can not manage role permissions while status in " +
StatMode.ToString() + " mode";
}
#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);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Chain1.TextChanged += new
System.EventHandler(this.TextBox4_TextChanged);
this.Search1.Click += new System.EventHandler(this.Search1_Click);
this.DataGrid1.ItemCreated += new
System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemCreate
d);
this.DataGrid1.ItemCommand += new
System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCom
mand);
this.DataGrid1.PageIndexChanged += new
System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_Pag
eChanged);
this.DataGrid1.SortCommand += new
System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid1_Sor
tCommand);
this.DataGrid1.DeleteCommand += new
System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_DeleteC
ommand);
this.DataGrid1.SelectedIndexChanged += new
System.EventHandler(this.DataGrid1_SelectedIndexChanged);
this.Add1.ServerClick += new System.EventHandler(this.Add1_ServerClick);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
user to filter the list. If I use view state, as in the Example 1,
everything works perfectly. However, I would like to disable view state and
regenerate the datagrid on every page load/post back. However, when I set
EnableViewState="false" and move the BindDataGrid call to the main body of
the Page Load method (Example 2), everything works fine visually but
clicking on an event that uses
DataGrid1.DataKeys[e.Item.ItemIndex]
produces the DataKey for the previous datagrid indexItem, not the current
one.
I realize that I must regenerate all controls on a postback and that I must
not be doing this correctly but what am I doing wrong???
(Complete codebehind listing at bottom of the post)
Thanks for your help
Earl
//EXAMPLE 1: DATAGRID AND SEARCH FILTER WITH ENABLEVIEWSTATE=TRUE
private void DataBindGrid()
{
string s = Convert.ToString(Application["JeWebSite_CS"]);
JumpDbDataClass r = new
JumpDbDataClass(Convert.ToString(Application["JeWebSite_CS"]));
DataSet ds = r.Select(SortOrder, SortAsc, 0, RedirectKey1.Text,
DisplayName1.Text, State1.Text, Chain1.Text);
DataGrid1.CurrentPageIndex=CurrentPageIndex;
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
}
private void Page_Load(object sender, System.EventArgs e)
{
if (!(Page.IsPostBack))
{
DataBindGrid();
}
private void Search1_Click(object sender, System.EventArgs e)
{
DataBindGrid();
}
//EXAMPLE 2: DATAGRID AND SEARCH FILTER WITH ENABLEVIEWSTATE=FALSE
(same as above except)
private void Page_Load(object sender, System.EventArgs e)
{
DataBindGrid();
}
//EXAMPLE 3: ENTIRE PAGE CODEBEHIND
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using csCommonLibrary;
using csCommonLibrary.Security;
using csJumpDb.JumpDbDataObjects;
using System.Data.SqlClient;
using System.Web.Security;
namespace JeIntranet
{
/// <summary>
/// Summary description for main.
/// </summary>
public abstract class JumbDbList :
JeIntranet.UserControls.WebUserControlDerived
//public abstract class main : System.Web.UI.UserControl
{
public JumbDbList():base(2, "jumpdb.section")
{
}
enum mode {none, edit, add};
protected System.Web.UI.WebControls.TextBox StateName1;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.Literal StatusMessage;
protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.TextBox StateDesc2;
protected System.Web.UI.WebControls.TextBox StateId1;
protected System.Web.UI.WebControls.TextBox pkState5;
protected System.Web.UI.WebControls.TextBox RedirectKey1;
protected System.Web.UI.WebControls.TextBox DisplayName1;
protected System.Web.UI.WebControls.TextBox State1;
protected System.Web.UI.WebControls.TextBox Chain1;
protected System.Web.UI.WebControls.Button Search1;
protected System.Web.UI.WebControls.Panel pnlAddButton1;
protected System.Web.UI.HtmlControls.HtmlTableRow AddButtonRow;
protected System.Web.UI.HtmlControls.HtmlInputButton Button1;
protected System.Web.UI.HtmlControls.HtmlTableRow ShowMessage;
protected System.Web.UI.HtmlControls.HtmlInputButton Add1;
protected System.Web.UI.WebControls.CustomValidator CustomValidator1;
private void Page_Load(object sender, System.EventArgs e)
{
if (Common.RightsTo("jumpdb.admin"))
AddButtonRow.Visible=true;
DisplayName1.Attributes.Add("style","width:486");
if (!(Page.IsPostBack))
{
RedirectKey1.Text=(Request.Params["RedirectKey"]==null)?"":Request.Params["R
edirectKey"];
DisplayName1.Text=(Request.Params["DisplayName"]==null)?"":Request.Params["D
isplayName"];
State1.Text=(Request.Params["State"]==null)?"":Request.Params["State"];
Chain1.Text=(Request.Params["Chain"]==null)?"":Request.Params["Chain"];
CurrentPageIndex=(Request.Params["CurrentPageIndex"]==null)?0:Convert.ToInt3
2(Request.Params["CurrentPageIndex"]);
SortOrder=(Request.Params["SortOrder"]==null)?1:Convert.ToInt32(Request.Para
ms["SortOrder"]);
SortAsc=(Request.Params["SortAsc"]==null)?true:Convert.ToBoolean(Request.Par
ams["SortAsc"]);
}
DataBindGrid();
}
private void DataBindGrid()
{
string s = Convert.ToString(Application["JeWebSite_CS"]);
JumpDbDataClass r = new
JumpDbDataClass(Convert.ToString(Application["JeWebSite_CS"]));
DataSet ds = r.Select(SortOrder, SortAsc, 0, RedirectKey1.Text,
DisplayName1.Text, State1.Text, Chain1.Text);
DataGrid1.CurrentPageIndex=CurrentPageIndex;
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
}
private void DataGrid1_DeleteCommand(object sender,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string s = sender.ToString();
string x = e.Item.Width.ToString();
int pkState = (int) DataGrid1.DataKeys[e.Item.ItemIndex];
if (StatMode==mode.none)
{
JumpDbDataClass r = new
JumpDbDataClass(Convert.ToString(Application["JeWebSite_CS"]));
r.Delete(Convert.ToInt32(DataGrid1.DataKeys[e.Item.ItemIndex]));
DataBindGrid();
}
else
{
StatusMessage.Text="Can not delete a State while status in " +
StatMode.ToString() + " mode";
}
}
private void DataGrid1_SortCommand(object sender,
System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
if (StatMode==mode.none)
{
int SortExpression=Convert.ToInt32(e.SortExpression);
SortAsc = newSortType(SortExpression);
SortOrder = SortExpression;
DataBindGrid();
}
else
StatusMessage.Text="Can not sort while status in " + StatMode.ToString() + "
mode";
}
private bool newSortType(int SortExp)
{
if (SortOrder==SortExp)
{
return SortAsc==true?false:true;
}
else
return true;
}
private void DataGrid1_ItemCreated (Object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
WebControl button = (WebControl) e.Item.Cells[6].Controls[0];
button.Attributes.Add ("onclick", "return confirm (\"Are you sure?\");");
}
}
private void Datagrid1_PreRender(Object s, EventArgs e)
{
}
private mode StatMode
{
get
{
object x = ViewState["StatMode"];
return x==null?mode.nonemode)x;
}
set
{
ViewState["StatMode"] = value;
}
}
private int SortOrder
{
get
{
object x = ViewState["SortOrder"];
return x==null?1int)x;
}
set
{
ViewState["SortOrder"] = value;
}
}
private bool SortAsc
{
get
{
object x = ViewState["SortAsc"];
return x==null?truebool)x;
}
set
{
ViewState["SortAsc"] = value;
}
}
private int CurrentPageIndex
{
get
{
object x = ViewState["CurrentPageIndex"];
return x==null?0int)x;
}
set
{
ViewState["CurrentPageIndex"] = value;
}
}
private string RedirectKey
{
get
{
object x = RedirectKey1.Text;
return Convert.ToString(x).Length==0?nullstring)x;
}
}
private string DisplayName
{
get
{
object x = DisplayName1.Text;
return Convert.ToString(x).Length==0?nullstring)x;
}
}
private string State
{
get
{
object x = State1.Text;
return Convert.ToString(x).Length==0?nullstring)x;
}
}
private string Chain
{
get
{
object x = Chain1.Text;
return Convert.ToString(x).Length==0?nullstring)x;
}
}
private void DataGrid1_PageChanged(object sender,
System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
CurrentPageIndex=e.NewPageIndex;
DataBindGrid();
}
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs
e)
{
CurrentPageIndex=0;
DataBindGrid();
}
private void TextBox4_TextChanged(object sender, System.EventArgs e)
{
}
private void Search1_Click(object sender, System.EventArgs e)
{
CurrentPageIndex=0;
DataBindGrid();
}
private void DataGrid1_ItemCommand(object sender,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int i, k;
if (e.CommandName=="Edit")
{
if (StatMode==mode.none)
{
i = e.Item.ItemIndex;
k = Convert.ToInt32(DataGrid1.DataKeys[e.Item.ItemIndex]);
Response.Redirect("default.aspx?page=Pages/JumpDb/JumpDbDetail.ascx"
+ "&pkRedirectTable=" + DataGrid1.DataKeys[e.Item.ItemIndex]
+ "&viewmode=Edit"
+ "&RedirectKey=" + RedirectKey
+ "&DisplayName=" + DisplayName
+ "&State=" + State
+ "&Chain=" + Chain
+ "&SortOrder=" + SortOrder
+ "&SortAsc=" + SortAsc
);
}
else
StatusMessage.Text="Can not manage role permissions while status in " +
StatMode.ToString() + " mode";
}
else
{
if (e.CommandName=="View")
{
if (StatMode==mode.none)
Response.Redirect("default.aspx?page=Pages/JumpDb/JumpDbDetail.ascx"
+ "&pkRedirectTable=" + DataGrid1.DataKeys[e.Item.ItemIndex]
+ "&viewmode=View"
+ "&RedirectKey=" + RedirectKey
+ "&DisplayName=" + DisplayName
+ "&State=" + State
+ "&Chain=" + Chain
+ "&SortOrder=" + SortOrder
+ "&SortAsc=" + SortAsc
);
else
StatusMessage.Text="Can not manage role permissions while status in " +
StatMode.ToString() + " mode";
}
}
}
private void Button1_ServerClick(object sender, System.EventArgs e)
{
Response.Redirect("index.aspx");
}
private void Add1_ServerClick(object sender, System.EventArgs e)
{
if (StatMode==mode.none)
Response.Redirect("default.aspx?page=Pages/JumpDb/JumpDbDetail.ascx"
+ "&viewmode=Add"
+ "&RedirectKey=" + RedirectKey
+ "&DisplayName=" + DisplayName
+ "&State=" + State
+ "&Chain=" + Chain
+ "&SortOrder=" + SortOrder
+ "&SortAsc=" + SortAsc
);
else
StatusMessage.Text="Can not manage role permissions while status in " +
StatMode.ToString() + " mode";
}
#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);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Chain1.TextChanged += new
System.EventHandler(this.TextBox4_TextChanged);
this.Search1.Click += new System.EventHandler(this.Search1_Click);
this.DataGrid1.ItemCreated += new
System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemCreate
d);
this.DataGrid1.ItemCommand += new
System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCom
mand);
this.DataGrid1.PageIndexChanged += new
System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_Pag
eChanged);
this.DataGrid1.SortCommand += new
System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid1_Sor
tCommand);
this.DataGrid1.DeleteCommand += new
System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_DeleteC
ommand);
this.DataGrid1.SelectedIndexChanged += new
System.EventHandler(this.DataGrid1_SelectedIndexChanged);
this.Add1.ServerClick += new System.EventHandler(this.Add1_ServerClick);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}