62,046
社区成员
发帖
与我相关
我的任务
分享
public DataGridView dgvXML;
public int x = 820;
public int y = 520;
xmlroot xmlroot = SiteConfig.xmlroot();
private static int delCount = 0;
private static bool flag = false;
public SiteXml()
{
this.Location = new System.Drawing.Point(200, 74);
this.Size = new System.Drawing.Size(x, y);
this.BackgroundImage = FormResources.none;
this.BackColor = System.Drawing.Color.White;
this.AutoScroll = true;
dgvXML = new DataGridView();
dgvXML.Location = new System.Drawing.Point(0,0);
dgvXML.Size = new System.Drawing.Size(x,y);
dgvXML.UserDeletingRow += new DataGridViewRowCancelEventHandler(this.btnDelete_Click);//删除信息
dgvXML.CellEndEdit += new DataGridViewCellEventHandler(dgvXML_CellEndEdit);//修改信息
dgvXML.UserAddedRow += new DataGridViewRowEventHandler(dgvXML_UserAddedRow); //添加信息
dgvXML.DefaultValuesNeeded+=new DataGridViewRowEventHandler(dgvXML_DefaultValuesNeeded);
LoadXml();
this.Controls.Add(dgvXML);
}
/// <summary>
/// xml数据源
/// </summary>
/// <returns></returns>
ICollection IDataSource()
{
DataView dv = null;
try {
string strID;//站点ID
string strText;//站点名称
string strSpace;//空间名
string strCls;//类名
string strMinPage;//最小页码
string strMaxPage;//最大页码
string strlisturl;//列表地址
string strInfourl;//信息地址
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("站点标识", typeof(string)));
dt.Columns.Add(new DataColumn("站点名称", typeof(string)));
dt.Columns.Add(new DataColumn("空间", typeof(string)));
dt.Columns.Add(new DataColumn("所属类", typeof(string)));
dt.Columns.Add(new DataColumn("最小页码", typeof(string)));
dt.Columns.Add(new DataColumn("最大页码", typeof(string)));
dt.Columns.Add(new DataColumn("列表地址", typeof(string)));
dt.Columns.Add(new DataColumn("信息地址", typeof(string)));
DataRow dr;
int i=0;
foreach (sitetemplate sitetmp in xmlroot.sitetemplate)
{
strID = sitetmp.id; //站点id
strText = sitetmp.text;//站点名称
strSpace =sitetmp.myspace; //空间名
strCls = sitetmp.myclass;//所属类
strMinPage = sitetmp.minpage;//最小页码
strMaxPage = sitetmp.maxpage; //最大页码
strlisturl = sitetmp.listurl; //列表地址
strInfourl = sitetmp.infourl;//信息地址
dr = dt.NewRow();
dr[0] = strID;
dr[1] = strText;
dr[2] = strSpace;
dr[3] = strCls;
dr[4] = strMinPage;
dr[5] = strMaxPage;
dr[6] = strlisturl;
dr[7] = strInfourl;
dt.Rows.Add(dr);
i =i+1;
}
dv = new DataView(dt);
}
catch
{
}
return dv;
}
/// <summary>
/// 加载xml运行调试
/// </summary>
public void LoadXml() {
dgvXML.DataSource = IDataSource();
}
/// <summary>
/// 删除信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDelete_Click(object sender, DataGridViewRowCancelEventArgs e)
{
string[] nums;
nums = new string[this.dgvXML.SelectedRows.Count];
for (int i = 0; i < nums.Length; i++)
{
nums[i] = this.dgvXML.SelectedRows[i].Cells[0].Value.ToString();
}
if (delCount == 0)
{
flag = MessageBox.Show("确认删除多条记录吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes;
}
else if (delCount == nums.Length - 1)
{
delCount = 0;
flag = false;
}
if (flag)
{
foreach (DataGridViewRow dgvRow in dgvXML.SelectedRows)
{
string SiteID = dgvRow.Cells[0].Value.ToString();
xmlroot.sitetemplate.Remove(xmlroot.sitetemplate.Find(delegate(sitetemplate p) { return p.id == SiteID; }));
}
SiteConfig.FormatConfig(xmlroot);
delCount = delCount + 1;
}
else
{
e.Cancel = true;
}
}
/// <summary>
/// 修改信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dgvXML_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
string strID;//站点ID
string strText;//站点名称
string strSpace;//空间名
string strCls;//类名
string strMinPage;//最小页码
string strMaxPage;//最大页码
string strlisturl;//列表地址
string strInfourl;//信息地址
strID = dgvXML.CurrentRow.Cells[0].Value.ToString();
strText = dgvXML.CurrentRow.Cells[1].Value.ToString();
strSpace = dgvXML.CurrentRow.Cells[2].Value.ToString();
strCls = dgvXML.CurrentRow.Cells[3].Value.ToString();
strMinPage = dgvXML.CurrentRow.Cells[4].Value.ToString();
strMaxPage = dgvXML.CurrentRow.Cells[5].Value.ToString();
strlisturl = dgvXML.CurrentRow.Cells[6].Value.ToString();
strInfourl = dgvXML.CurrentRow.Cells[7].Value.ToString();
int i = 0;
foreach (sitetemplate sitetmp in xmlroot.sitetemplate)
{
if (strID ==sitetmp.id)
{
xmlroot.sitetemplate[i].text = strText;
xmlroot.sitetemplate[i].myspace = strSpace;
xmlroot.sitetemplate[i].myclass = strCls;
xmlroot.sitetemplate[i].minpage = strMinPage;
xmlroot.sitetemplate[i].maxpage = strMaxPage;
xmlroot.sitetemplate[i].listurl = strlisturl;
xmlroot.sitetemplate[i].infourl = strInfourl;
SiteConfig.FormatConfig(xmlroot);
}
i = i + 1;
}
}