// C#中DataGrid加载XML数据--添加数据 来源于:http://www.jdwzw.cn
protected System.Web.UI.WebControls.DataGrid dgAddInfo;
public string xmlFileName = "Zph.xml";
private void Page_Load(object sender, System.EventArgs e)
{
// DataGridDataBind();
if(!IsPostBack)
{
DataLoad("ID") ;
}
}
#region
private void DataLoad( string SortString )
{
//string xmlFileName = @"c:/inetpub/wwwroot/zhaopinhui/Zph.xml " ;
DataSet ds = new DataSet();
FileStream FS = new FileStream( Server.MapPath(xmlFileName) ,FileMode.Open);
ds.ReadXml(FS);
if(ds.Tables.Count == 0)
{
ds.Tables.Add ( MakeZphTable() );
}
Trace.Warn("rowcount1=",Convert.ToString(ds.Tables[0].Rows.Count));
DataView dv =new DataView(ds.Tables[0]);
if(SortString.Length>0)
{
dv.Sort = SortString;
}
this.dgAddInfo.DataSource = dv;
this.dgAddInfo.DataBind();
FS.Close();
}
#endregion
#region 创建招聘会的表
private DataTable MakeZphTable()
{
DataTable theTable = new DataTable("Zph");
DataColumn theColumn1 = new DataColumn();
theColumn1.DataType = System.Type.GetType("System.Int32");
theColumn1.ColumnName = "ID";
theTable.Columns.Add(theColumn1);
DataColumn theColumn2 = new DataColumn();
theColumn2.DataType = System.Type.GetType("System.Int32");
theColumn2.ColumnName = "ZphID" ;
theTable.Columns.Add(theColumn2);
DataColumn theColumn3 = new DataColumn();
theColumn3.DataType = System.Type.GetType("System.String");
theColumn3.ColumnName = "Title";
theTable.Columns.Add(theColumn3);
DataColumn theColumn4 = new DataColumn();
theColumn4.DataType = System.Type.GetType("System.String");
theColumn4.ColumnName = "Content";
theTable.Columns.Add(theColumn4);
DataColumn theColumn5 = new DataColumn();
theColumn5.DataType = System.Type.GetType("System.DateTime");
theColumn5.ColumnName = "Date";
theTable.Columns.Add(theColumn5);
DataColumn theColumn6 = new DataColumn();
theColumn6.DataType = System.Type.GetType("System.String");
theColumn6.ColumnName = "Time";
theTable.Columns.Add(theColumn6);
DataColumn theColumn7 = new DataColumn();
theColumn7.DataType = System.Type.GetType("System.String");
theColumn7.ColumnName = "Num";
theTable.Columns.Add(theColumn7);
DataColumn theColumn8 = new DataColumn();
theColumn8.DataType = System.Type.GetType("System.String");
theColumn8.ColumnName = "Place";
theTable.Columns.Add(theColumn8);
return theTable;
}
//-----------------------------------------------------------------------------------------------------------------------
// C#中DataGrid加载XML数据
protected System.Web.UI.WebControls.DataGrid dgAddInfo;
public string xmlFileName = "Zph.xml";
private void Page_Load(object sender, System.EventArgs e)
{
// DataGridDataBind();
if(!IsPostBack)
{
DataLoad("ID") ;
}
}
#region
private void DataLoad( string SortString )
{
//string xmlFileName = @"c:/inetpub/wwwroot/zhaopinhui/Zph.xml " ;
DataSet ds = new DataSet();
FileStream FS = new FileStream( Server.MapPath(xmlFileName) ,FileMode.Open);
ds.ReadXml(FS);
if(ds.Tables.Count == 0)
{
ds.Tables.Add ( MakeZphTable() );
}
Trace.Warn("rowcount1=",Convert.ToString(ds.Tables[0].Rows.Count));
DataView dv =new DataView(ds.Tables[0]);
if(SortString.Length>0)
{
dv.Sort = SortString;
}
this.dgAddInfo.DataSource = dv;
this.dgAddInfo.DataBind();
FS.Close();
}
#endregion
#region 创建招聘会的表
private DataTable MakeZphTable()
{
DataTable theTable = new DataTable("Zph");
DataColumn theColumn1 = new DataColumn();
theColumn1.DataType = System.Type.GetType("System.Int32");
theColumn1.ColumnName = "ID";
theTable.Columns.Add(theColumn1);
DataColumn theColumn2 = new DataColumn();
theColumn2.DataType = System.Type.GetType("System.Int32");
theColumn2.ColumnName = "ZphID" ;
theTable.Columns.Add(theColumn2);
DataColumn theColumn3 = new DataColumn();
theColumn3.DataType = System.Type.GetType("System.String");
theColumn3.ColumnName = "Title";
theTable.Columns.Add(theColumn3);
DataColumn theColumn4 = new DataColumn();
theColumn4.DataType = System.Type.GetType("System.String");
theColumn4.ColumnName = "Content";
theTable.Columns.Add(theColumn4);
DataColumn theColumn5 = new DataColumn();
theColumn5.DataType = System.Type.GetType("System.DateTime");
theColumn5.ColumnName = "Date";
theTable.Columns.Add(theColumn5);
DataColumn theColumn6 = new DataColumn();
theColumn6.DataType = System.Type.GetType("System.String");
theColumn6.ColumnName = "Time";
theTable.Columns.Add(theColumn6);
DataColumn theColumn7 = new DataColumn();
theColumn7.DataType = System.Type.GetType("System.String");
theColumn7.ColumnName = "Num";
theTable.Columns.Add(theColumn7);
DataColumn theColumn8 = new DataColumn();
theColumn8.DataType = System.Type.GetType("System.String");
theColumn8.ColumnName = "Place";
theTable.Columns.Add(theColumn8);
return theTable;
}
//------------------------------------------------------------------------------------------------------------------------
// C#中DataGrid加载XML数据--删除数据
private void dgAddInfo_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string deleteKey = string.Empty ;
if(this.dgAddInfo.EditItemIndex == -1)
{
deleteKey = Convert.ToString(this.dgAddInfo.DataKeys[e.Item.ItemIndex]);
Response.Write("Delete completed for key = " + deleteKey);
}
else
{
Response.Write("Can't sort until editing is done!");
}
int CurrentRow = e.Item.ItemIndex ;
string currentRow = Convert.ToString(CurrentRow);
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath(xmlFileName));
DataRow row = ds.Tables[0].Rows[CurrentRow];
row.Delete();
ds.WriteXml(Server.MapPath(xmlFileName));
this.dgAddInfo.EditItemIndex = -1 ;
DataLoad("");
}
//-----------------------------------------------------------------------------------------------------------------------
// C#中DataGrid加载XML数据---上移和下移
#region 实现 上移 和 下移 以及序号随机跟捉变的功能
private void dgManageInfo_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName == "UP" || e.CommandName=="DOWN")
{
int index = e.Item.ItemIndex;
// if(e.CommandName == "UP")
// {
// index-=1;
// }
// else
// {
// index+=1;
// }
//if(index<0 || index==dgManageInfo.Items.Count) return;
if( (e.CommandName == "UP" && index == 0) || ( e.CommandName == "DOWN" && index == dgManageInfo.Items.Count - 1 ) )
{
return;
}
if(e.CommandName == "UP")
{
string path = Server.MapPath("ZphDetail.xml");
XmlDocument xdoc = new XmlDataDocument();
xdoc.Load(path);
//int rank = Convert.ToInt32(xdoc.DocumentElement.ChildNodes[e.Item.ItemIndex].ChildNodes[4].InnerText);
//xdoc.DocumentElement.ChildNodes[e.Item.ItemIndex].ChildNodes[4].InnerText = (rank-1).ToString();
//xdoc.DocumentElement.ChildNodes[e.Item.ItemIndex-1].ChildNodes[4].InnerText = rank.ToString();
string curDetailID = dgManageInfo.DataKeys[e.Item.ItemIndex].ToString();
string upDetailID = dgManageInfo.DataKeys[e.Item.ItemIndex-1].ToString();
int rank = Convert.ToInt32(dgManageInfo.Items[ e.Item.ItemIndex ].Cells[4].Text);
for(int i= 0 ; i<xdoc.DocumentElement.ChildNodes.Count;i++)
{
if(curDetailID== xdoc.DocumentElement.ChildNodes[i].ChildNodes[0].InnerText)
{
xdoc.DocumentElement.ChildNodes[i].ChildNodes[4].InnerText = Convert.ToString(rank-1);
}
else if ( upDetailID == xdoc.DocumentElement.ChildNodes[i].ChildNodes[0].InnerText )
{
xdoc.DocumentElement.ChildNodes[i].ChildNodes[4].InnerText = rank.ToString();
}
}
xdoc.Save(path);
}
else
{
string path = Server.MapPath("ZphDetail.xml");
XmlDocument xdoc = new XmlDataDocument();
xdoc.Load(path);
//int rank1 = Convert.ToInt32(xdoc.DocumentElement.ChildNodes[e.Item.ItemIndex].ChildNodes[4].InnerText);
//xdoc.DocumentElement.ChildNodes[e.Item.ItemIndex].ChildNodes[4].InnerText = (rank1+1).ToString();
//xdoc.DocumentElement.ChildNodes[e.Item.ItemIndex+1].ChildNodes[4].InnerText = rank1.ToString();
string curDetailID = dgManageInfo.DataKeys[e.Item.ItemIndex].ToString();
string downDetailID = dgManageInfo.DataKeys[e.Item.ItemIndex+1].ToString();
int rank = Convert.ToInt32(dgManageInfo.Items[ e.Item.ItemIndex ].Cells[4].Text);
for(int i= 0 ; i<xdoc.DocumentElement.ChildNodes.Count;i++)
{
if(curDetailID== xdoc.DocumentElement.ChildNodes[i].ChildNodes[0].InnerText)
{
xdoc.DocumentElement.ChildNodes[i].ChildNodes[4].InnerText = Convert.ToString(rank+1);
}
else if ( downDetailID == xdoc.DocumentElement.ChildNodes[i].ChildNodes[0].InnerText )
{
xdoc.DocumentElement.ChildNodes[i].ChildNodes[4].InnerText = rank.ToString();
}
}
xdoc.Save(path);
}
// DataTable dt = MakeZphTable();
// for(int i=0;i<this.dgManageInfo.Items.Count;i++)
// {
// if(i!=e.Item.ItemIndex)
// {
// DataGridItem row = dgManageInfo.Items[i];
// dt.Rows.Add(new object[]{row.Cells[0].Text,row.Cells[1].Text,row.Cells[2].Text,row.Cells[3].Text,row.Cells[4].Text,row.Cells[5].Text,i+1});
// }
// }
// DataRow moveRow = dt.NewRow();
// moveRow[0] = e.Item.Cells[0].Text;
// moveRow[1] = e.Item.Cells[1].Text;
// moveRow[2] = e.Item.Cells[2].Text;
// moveRow[3] = e.Item.Cells[3].Text;
// moveRow[4] = e.Item.Cells[4].Text;
// moveRow[5] = e.Item.Cells[5].Text;
// moveRow[6] = index+1;
//
// dt.Rows.InsertAt(moveRow,index);
// dt.AcceptChanges();
//
// this.dgManageInfo.SelectedIndex = index;
// this.dgManageInfo.DataSource = dt;
// this.dgManageInfo.DataBind();
DataLoad("Rank asc") ;
}
}
#endregion
//------------------------------------------------------------------------------------------------------------------------
// C#中DataGrid加载XML数据--在另外一页面修改数据
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
lblID.Text = Request.QueryString["ID"].ToString();
InitData();//根据传过来的ID来得到相应的值
}
}
#region 根据传过来的ID来得到相应的值
private void InitData()
{
string path = Server.MapPath("Zph.xml");
XmlDocument xdoc = new XmlDocument();
xdoc.Load(path);
for(int i=0; i<xdoc.DocumentElement.ChildNodes.Count; i++)
{
if(lblID.Text == xdoc.DocumentElement.ChildNodes[i].ChildNodes[0].InnerText)
{
this.txtZphID.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[1].InnerText;
this.txtTitle.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[2].InnerText;
this.txtContent.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[3].InnerText;
this.txtDate.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[4].InnerText;
this.txtTime.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[5].InnerText;
this.txtNum.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[6].InnerText ;
this.txtPlace.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[7].InnerText;
}
}
}
#endregion
private void btnEdit_Click(object sender, System.EventArgs e)
{
string path = Server.MapPath("Zph.xml");
XmlDocument xdoc = new XmlDataDocument();
xdoc.Load(path);
for(int i= 0 ; i<xdoc.DocumentElement.ChildNodes.Count;i++)
{
if(lblID.Text == xdoc.DocumentElement.ChildNodes[i].ChildNodes[0].InnerText)
{
xdoc.DocumentElement.ChildNodes[i].ChildNodes[1].InnerText = this.txtZphID.Text ;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[2].InnerText = this.txtTitle.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[3].InnerText = this.txtContent.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[4].InnerText = this.txtDate.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[5].InnerText = this.txtTime.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[6].InnerText = this.txtNum.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[7].InnerText = this.txtPlace.Text;
}
}
xdoc.Save(path);
// Response.Redirect("Index.aspx");
Response.Write("<script>alert('修改成功!');window.location.href='Index.aspx'</script>");
}
private void btnCancel_Click(object sender, System.EventArgs e)
{
InitData();
}
//--------------------------------------------------------------------------------------------------------------------------
// C#中DataGrid加载XML数据--管理 传值到例外个页面 再传值
前台:ZphManage.aspx
< a href='ZphDetailEdit.aspx?ZphDetailID= DataBinder.Eval(Container.DataItem , "ZphDetailID") + "&ZphID=" +DataBinder.Eval(Container.DataItem , "ZphID")%>'>编辑</a>
#region 初始化
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
//将ID值赋给lblID
lblZphID.Text = Request.QueryString["ZphID"].ToString();
InitData();//根据传过来的ID来得到相应的值
}
}
#endregion
#region 根据传过来的ID来得到相应的值
private void InitData()
{
string path = Server.MapPath("Zph.xml");
XmlDocument xdoc = new XmlDocument();
xdoc.Load(path);
for(int i=0; i<xdoc.DocumentElement.ChildNodes.Count; i++)
{
if(lblZphID.Text == xdoc.DocumentElement.ChildNodes[i].ChildNodes[0].InnerText)
{
this.txtTitle.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[1].InnerText;
this.txtContent.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[2].InnerText;
this.txtDate.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[3].InnerText;
this.txtTime.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[4].InnerText;
this.txtNum.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[5].InnerText ;
this.txtPlace.Text = xdoc.DocumentElement.ChildNodes[i].ChildNodes[6].InnerText;
}
}
}
#endregion
#region 编辑事件
private void btnEdit_Click(object sender, System.EventArgs e)
{
string path = Server.MapPath("ZphDetail.xml");
XmlDocument xdoc = new XmlDataDocument();
xdoc.Load(path);
for(int i= 0 ; i<xdoc.DocumentElement.ChildNodes.Count;i++)
{
if(lblZphCompanyID.Text == xdoc.DocumentElement.ChildNodes[i].ChildNodes[0].InnerText)
{
xdoc.DocumentElement.ChildNodes[i].ChildNodes[1].InnerText = this.txtName.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[2].InnerText = this.txtJob.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[3].InnerText = this.txtPlaceCode.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[4].InnerText = this.txtSortCode.Text;
xdoc.DocumentElement.ChildNodes[i].ChildNodes[5].InnerText = this.txtColor.Text;
}
}
xdoc.Save(path);
Response.Write("<script>alert('修改成功!');window.location.href='ZphManage.aspx?ZphID='+ " + Request.QueryString["ZphID"] + "</script>");
}
#endregion
#region 取消事件
private void btnCancel_Click(object sender, System.EventArgs e)
{
InitData();
}
#endregion
//------------------------------------------------------------------------------------------------------------------------