|2waySort | Update XML | Edit State|| Merge DataSet

 

 

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
Super_Load();
}
}

private void Super_Load()
{

DataSet objds=new DataSet();
objds.ReadXml(Server.MapPath("XMLFile1.xml"));
ViewState["author"]=objds;
dguser.DataSource=objds;
dguser.DataBind();
}

 

private void dguser_SortCommand (object s, DataGridSortCommandEventArgs e)
{
DataView objdv=new DataView();
objdv =((DataSet)ViewState["author"]).Tables[0].DefaultView;

//Test to see 1st action =2nd action

if (Convert.ToString(ViewState["SortCol"]).Equals(e.SortExpression))
{
if( (number%2) == 0 )
objdv.Sort = e.SortExpression + " " + "ASC";
else
objdv.Sort = e.SortExpression + " " + "DESC";
number=number+1;
}
else
{
objdv.Sort =e.SortExpression;
}
ViewState["SortCol"]=e.SortExpression ;


// objdv.Sort=e.SortExpression;
dguser.DataSource=objdv;
dguser.DataBind();

}


Back

 


private void dguser_UpdateCommand(object s, DataGridCommandEventArgs e)
{


string strlname =((TextBox)e.Item.Cells[2].Controls[0]).Text;
string strfname=((TextBox)e.Item.Cells[3].Controls[0]).Text;
string phonenumber=((TextBox)e.Item.Cells[4].Controls[0]).Text;

DataSet objds=(DataSet)ViewState["author"];


objds.Tables[0].Rows[e.Item.ItemIndex]["lname"]=strlname;
objds.Tables[0].Rows[e.Item.ItemIndex]["fname"]=strfname;
objds.Tables[0].Rows[e.Item.ItemIndex]["phone"]=phonenumber;

objds.AcceptChanges();

objds.WriteXml(Server.MapPath("XMLFile1.xml"));
dguser.EditItemIndex=-1;
Super_Load();

}

 

private void dguser_CancelCommand(object s, DataGridCommandEventArgs e)
{
dguser.EditItemIndex=-1;
Super_Load();
}

Back

 

protected void MenuSelected(string strMenu)
{
switch (strMenu)
{
case "All": ReadXML("RSS", true);
break;
case "RSS 1": ReadXML("RSS1.xml", false);
break;
case "RSS 2": ReadXML("RSS2.xml", false);
break;
case "RSS 3": ReadXML("RSS3.xml", false);
break;
}

}

protected void ReadXML(string strFileName, bool blCombine)
{
DataSet dsReadXml;
DataSet dsInitXML = new DataSet();

if (blCombine.Equals(false))
{

dsInitXML.ReadXml(Server.MapPath(strFileName));


}
else
{
for(int i=1;i<=3;i++)
{
dsReadXml = new DataSet();
string strXmlFilePath = Server.MapPath(strFileName + i + ".xml");

if (File.Exists(strXmlFilePath))
{
if (i == 1)
{
dsInitXML.ReadXml(strXmlFilePath, XmlReadMode.Auto);
dsInitXML.Merge(dsInitXML, true);
}
else
{
dsReadXml.ReadXml(strXmlFilePath, XmlReadMode.Auto);
dsInitXML.Merge(dsReadXml, true);
}


}
ViewState["author"] = dsInitXML;
}

}

gvXML.DataSource = ViewState["author"];
gvXML.DataBind();
}

protected void gvXML_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
gvXML.PageIndex = e.NewPageIndex;
gvXML.DataSource = ViewState["author"];
gvXML.DataBind();

}
catch (Exception ex)
{

throw new Exception(string.Format("Error occurs at PageIndexChanging: {0}", ex.Message));
}

}

 

 

@Copy right of Soon Lim 2006. All Right Reserved