背景:因公司小组人员结构调整优化及各线剩余时间可视化。
此工具分为两部份:
1:显示工具【Main】
2:数据添加工具【DataAdd】
//====================================Main================================
//===============引用========
using DevExpress.Utils;
using DevExpress.XtraEditors.Drawing;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using System;
using System.Data;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using System.Xml;
//==================================以下为正文内容=============
public partial class Main : Form
{
DateTimePicker dtp = new DateTimePicker(); //实例化一个DateTimePicker控件
public Main()
{
InitializeComponent();
//dataGridView1.Controls.Add(dtp); //将时间控件加入DataGridView
gridView3.Connect(dtp);
//dataGridView1.Controls.Add(prog);
dtp.Visible = false; //先不显示
dtp.Format = DateTimePickerFormat.Time; //设置日期格式,2017-11-11
dtp.TextChanged += new EventHandler(dtp_TextChange); //为时间控件加入事件dtp_TextChange
}
private void dtp_TextChange(object sender, EventArgs e)
{
//gridView3.Connect.CurrentCell.Value = dtp.Value.ToString(); //时间控件选择时间时,将时间内容赋给所在的单元格
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("线别", typeof(string));
dt.Columns.Add("开始时间", typeof(DateTime));
dt.Columns.Add("结束时间", typeof(DateTime));
dt.Columns.Add("剩余进度", typeof(string));
dt.Columns.Add("剩余时间", typeof(string));
dt.Columns.Add("对位人员", typeof(string));
dt.Columns.Add("金样编号", typeof(string));
dt.Columns.Add("机型", typeof(string));
dt.Columns.Add("对位类型", typeof(string));
//设置DEV
gridView3.OptionsCustomization.AllowFilter = false;//禁用 GridControl 中列头的过滤器 过滤器如下图所示:
gridView3.OptionsView.ShowGroupPanel = false;//隐藏 GridControl 的 GroupPanel 表头
gridView3.OptionsMenu.EnableColumnMenu = false;//禁用 GridControl 中单击列弹出右键菜单
DataSet ds = new DataSet();
////读取XML
DataTable data = new DataTable();
if (!File.Exists("info.xml"))
{
DataAdd f = new DataAdd();
f.ShowDialog();
}
else
{
////将XML文件加载进来
XmlDocument doc2 = new XmlDocument();
doc2.Load("info.xml");
//获取根节点
XmlElement root2 = doc2.DocumentElement;
//获取子节点
XmlNodeList pnodes = root2.GetElementsByTagName("attribute");
//使用foreach循环读出集合
foreach (XmlNode node in pnodes)
{
string name = ((XmlElement)node).GetAttribute("Lines");
string x = ((XmlElement)node).GetElementsByTagName("开始时间")[0].InnerText;
string y = ((XmlElement)node).GetElementsByTagName("结束时间")[0].InnerText;
string z = ((XmlElement)node).GetElementsByTagName("对位人员")[0].InnerText;
string u = ((XmlElement)node).GetElementsByTagName("金样编号")[0].InnerText;
string q = ((XmlElement)node).GetElementsByTagName("机型")[0].InnerText;
string w = ((XmlElement)node).GetElementsByTagName("对位类型")[0].InnerText;
dt.Rows.Add(new object[] { name, x, y, "12", "34", z, u, q, w });
}
gridControl3.DataSource = dt;
gridView3.Columns[1].DisplayFormat.FormatString = "t";
gridView3.Columns[2].DisplayFormat.FormatString = "g";
gridView3.Columns[0].OptionsColumn.AllowEdit = false;//设置列不可以编辑
gridView3.Columns[1].OptionsColumn.AllowEdit = false;//设置列不可以编辑
gridView3.Columns[2].OptionsColumn.AllowEdit = false;//设置列不可以编辑
gridView3.Columns[3].OptionsColumn.AllowEdit = false;//设置列不可以编辑
gridView3.Columns[4].OptionsColumn.AllowEdit = false;//设置列不可以编辑
gridView3.Columns[5].OptionsColumn.AllowEdit = false;//设置列不可以编辑
gridView3.Columns[6].OptionsColumn.AllowEdit = false;//设置列不可以编辑
gridView3.Columns[7].OptionsColumn.AllowEdit = false;//设置列不可以编辑
gridView3.Columns[8].OptionsColumn.AllowEdit = false;//设置列不可以编辑
}
}
private void DrProgressBar(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e,int i)
{
DateTime tarttimer = Convert.ToDateTime(gridView3.GetRowCellValue(i, gridView3.Columns["开始时间"]).ToString());
DateTime stoptimer = tarttimer.AddHours(73);
DateTime date1 = Convert.ToDateTime(DateTime.Now.ToString(("yyyy-MM-dd HH:mm:ss")));
TimeSpan diff1 = stoptimer.Subtract(date1);
double bfb = diff1.TotalMinutes;//已递增数
double yy = (bfb / 43.8);
//this.gridView3.SetRowCellValue(i, gridView3.Columns[3], yy.ToString().Substring(0, 5) + "%");
// decimal percent = yy;// Convert.ToDecimal(bfb2 / bfb);
// int iIndex = 0;
int width = (int)(Math.Abs(yy) * e.Bounds.Width / 100);
//if (yy < 50)
//{
// width = (int)( Math.Abs(1) * e.Bounds.Width / 100); ;// iIndex = 1;
//}
////if (iIndex == 1)
////{
//// width = (int)(100 * Math.Abs(1) * e.Bounds.Width / 100);
////}
//else
//{
//width = (int)(Math.Abs(yy) * e.Bounds.Width / 100);
//}
Brush b = Brushes.LawnGreen;
if (0<yy && yy < 30)
{
Rectangle rect = new Rectangle(e.Bounds.X, e.Bounds.Y, width, e.Bounds.Height);
b = Brushes.Yellow;
e.Graphics.FillRectangle(b, rect);
}
if (yy < 0)
{
Rectangle rect = new Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
b = Brushes.Red;
e.Graphics.FillRectangle(b, rect);
}
if (yy > 30)
{
Rectangle rect = new Rectangle(e.Bounds.X, e.Bounds.Y, width, e.Bounds.Height);
b = Brushes.Green;
e.Graphics.FillRectangle(b, rect);
}
}
private void DrawEditor(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
GridCellInfo cell = e.Cell as GridCellInfo;
Point offset = cell.CellValueRect.Location;
BaseEditPainter pb = cell.ViewInfo.Painter as BaseEditPainter;
AppearanceObject style = cell.ViewInfo.PaintAppearance;
if (!offset.IsEmpty)
cell.ViewInfo.Offset(offset.X, offset.Y);
try
{
pb.Draw(new ControlGraphicsInfoArgs(cell.ViewInfo, e.Cache, cell.Bounds));
}
finally
{
if (!offset.IsEmpty)
{
cell.ViewInfo.Offset(-offset.X, -offset.Y);
}
}
}
private void gridView3_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
//if (e.RowHandle == gridView1.FocusedRowHandle)
//{
// e.Appearance.BackColor = Color.CadetBlue;
//}
if (e.Column.FieldName == "剩余进度")//为ZBJD这列设置进度条
{
DrProgressBar(e,e .RowHandle);
e.Handled = true;
DrawEditor(e);
}
// try
//{
// if (this.dataGridView1.CurrentCell.ColumnIndex.ToString() == "4" || this.dataGridView1.CurrentCell.ColumnIndex.ToString() == "6" || this.dataGridView1.CurrentCell.ColumnIndex.ToString() == "5")//在此指定和哪一列绑定
// {
// System.Drawing.Rectangle rect = gridView3 .InvalidateRect ((dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex, false);
// dmg.Left = rect.Left;
// dmg.Top = rect.Top;
// dmg.Width = rect.Width;
// dmg.Height = rect.Height;
// dmg.Visible = true;
// i = this.dataGridView1.CurrentRow.Index;
// j = this.dataGridView1.CurrentCell.ColumnIndex;
// dataGridView1.CurrentCell.Value = dmg.Value;
// }
// else
// {
// dmg.Visible = false;
// }
//}
//catch
//{
//}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//DialogResult dr = MessageBox.Show("确认关闭吗?", "提示", MessageBoxButtons.OKCancel);
//if (dr == DialogResult.OK)
//{
// //确认参数
// // SaveXML();
// //MessageBox.Show("数据保存完成");
// e.Cancel = false;
//}
//else if (dr == DialogResult.Cancel)
//{
// e.Cancel = true;
//}
}
private void SaveXML()
{
//处理XML
//创建一个XML文档对象
XmlDocument doc = new XmlDocument();
//声明XML头部信息
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
//添加进doc对象子节点
doc.AppendChild(dec);
//创建根节点
XmlElement root = doc.CreateElement("参数");
doc.AppendChild(root);
//开始循环保存数据
// MessageBox.Show(gridView3.RowCount.ToString());
for (int i = 0; i < gridView3.RowCount; i++)
{
string linename = gridView3.GetRowCellValue(i, gridView3.Columns["线别"]).ToString();//量产1线
string starttimer = gridView3.GetRowCellValue(i, gridView3.Columns["开始时间"]).ToString();//开始时间
string stoptimer = gridView3.GetRowCellValue(i, gridView3.Columns["结束时间"]).ToString();//结束时间
string checkyy = gridView3.GetRowCellValue(i, gridView3.Columns["对位人员"]).ToString();//对位人员
string CMW = gridView3.GetRowCellValue(i, gridView3.Columns["金样编号"]).ToString();//金样编号
//再创建根节点下的子节点
XmlElement student = doc.CreateElement("attribute");
//设置子节点属性
student.SetAttribute("Lines", linename);
//子节点下再创建标记
XmlElement one_X = doc.CreateElement("开始时间");
//<X>的内容
XmlText xmlText1 = doc.CreateTextNode(starttimer);//存储x的值
//将内容添加到<X>标记
one_X.AppendChild(xmlText1);
//再将<X>标记添加到<上下料>标记的子节点下
student.AppendChild(one_X);
XmlElement one_Y = doc.CreateElement("结束时间");
XmlText xmlText2 = doc.CreateTextNode(stoptimer);//存储y的值
one_Y.AppendChild(xmlText2);
student.AppendChild(one_Y);
XmlElement one_Z = doc.CreateElement("对位人员");
XmlText xmlText3 = doc.CreateTextNode(checkyy);//存储z的值
one_Z.AppendChild(xmlText3);
student.AppendChild(one_Z);
XmlElement one_U = doc.CreateElement("金样编号");
XmlText xmlTextU = doc.CreateTextNode(CMW);//存储z的值
one_U.AppendChild(xmlTextU);
student.AppendChild(one_U);
//最后把标记添加到根节点的子节点下
root.AppendChild(student);
}
//doc文档对象保存写入
doc.Save("info.xml");
}
private void 新增新行ToolStripMenuItem_Click(object sender, EventArgs e)
{
DataAdd p = new DataAdd();
p.ShowDialog();
}
private void timer1_Tick(object sender, EventArgs e)
{
try
{
for (int i = 0; i < gridView3.RowCount; i++)
{
DateTime tarttimer = Convert.ToDateTime(gridView3.GetRowCellValue(i, gridView3.Columns["开始时间"]).ToString());
DateTime stoptimer = tarttimer.AddHours(73);
System.DateTime date1 = Convert.ToDateTime(DateTime.Now.ToString(("yyyy-MM-dd HH:mm:ss")));
System.TimeSpan diff1 = stoptimer.Subtract(date1);
System.TimeSpan diff2 = Convert.ToDateTime(DateTime.Now.ToString(("yyyy-MM-dd HH:mm:ss"))).Subtract(Convert.ToDateTime(DateTime.Now.ToString(("yyyy-MM-dd HH:mm:ss"))));
if (diff1 < diff2)
{
this.gridView3.SetRowCellValue(i, gridView3.Columns[4], "00:00:00");
}
else
{
this.gridView3.SetRowCellValue(i, gridView3.Columns[4], diff1.ToString());
}
double bfb = diff1.TotalMinutes;//已递增数
double yy = (bfb / 43.8);
if (diff1 < diff2)
{
this.gridView3.SetRowCellValue(i, gridView3.Columns[3], "00.00%");
}
else
{
// this.gridView3.SetRowCellValue(i, gridView3.Columns[3], yy.ToString().Substring(0, yy.ToString().Length) + "%");
if ((yy.ToString().Length > 5))
{
this.gridView3.SetRowCellValue(i, gridView3.Columns[3], yy.ToString().Substring(0, 5) + "%");
}
if ((yy.ToString().Length < 5))
{
this.gridView3.SetRowCellValue(i, gridView3.Columns[3], yy.ToString().Substring(0, 4) + "%");
}
}
//DateTime tarttimer2 = Convert.ToDateTime(gridView3.GetRowCellValue(i, gridView3.Columns["剩余时间"]).ToString());
// DateTime stoptimer = tarttimer.AddHours(73);
//System.DateTime date1 = Convert.ToDateTime(DateTime.Now.ToString(("yyyy-MM-dd hh:mm:ss")));
// System.TimeSpan diff1 = stoptimer.Subtract(date1);
// System.TimeSpan diff1 = stoptimer.Subtract(date1);
// System.TimeSpan diff3 = date1.Subtract(tarttimer);
// System.TimeSpan diff2 = stoptimer.Subtract(tarttimer2);//算出总分钟数
// this.gridView3.SetRowCellValue(1, gridView3.Columns[4], diff3.ToString());
}
}
catch
{
}
}
}
//============工具界面
======================说明==============
在显示界面右键点击“修改数据"即可打开DataAdd
//========================DataAdd==============================
//========================引用==============================
using System;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using System.Xml;
//==========================以下正文============================
public partial class DataAdd : Form
{
DevExpress.XtraEditors.DateEdit dtp = new DevExpress.XtraEditors.DateEdit();
Rectangle _Rectangle, ectangle;
XmlDocument doc = new XmlDocument();
XmlElement root ;
public DataAdd()
{
InitializeComponent();
dataGridView1.Controls.Add(dtp); //将时间控件加入DataGridView
dtp.Visible = false; //先不显示
dtp.TextChanged += new EventHandler(dtp_TextChange); //为时间控件加入事件dtp_TextChange
}
private void dtp_TextChange(object sender, EventArgs e)
{
dataGridView1.CurrentCell.Value = dtp.Text; //时间控件选择时间时,将时间内容赋给所在的单元格
}
private void DataAdd_Load(object sender, EventArgs e)
{
if (File.Exists("info.xml"))
{
////将XML文件加载进来
XmlDocument doc2 = new XmlDocument();
doc2.Load("info.xml");
//获取根节点
XmlElement root2 = doc2.DocumentElement;
//获取子节点
XmlNodeList pnodes = root2.GetElementsByTagName("attribute");
//使用foreach循环读出集合
foreach (XmlNode node in pnodes)
{
string name = ((XmlElement)node).GetAttribute("Lines");
string x = ((XmlElement)node).GetElementsByTagName("开始时间")[0].InnerText;
string y = ((XmlElement)node).GetElementsByTagName("结束时间")[0].InnerText;
string z = ((XmlElement)node).GetElementsByTagName("对位人员")[0].InnerText;
string u = ((XmlElement)node).GetElementsByTagName("金样编号")[0].InnerText;
string q = ((XmlElement)node).GetElementsByTagName("机型")[0].InnerText;
string w = ((XmlElement)node).GetElementsByTagName("对位类型")[0].InnerText;
int i = dataGridView1.Rows.Add();
dataGridView1.Rows[i].Cells[0].Value = name;
dataGridView1.Rows[i].Cells[1].Value = x;
dataGridView1.Rows[i].Cells[2].Value = y;
dataGridView1.Rows[i].Cells[3].Value = z;
dataGridView1.Rows[i].Cells[4].Value = u;
dataGridView1.Rows[i].Cells[5].Value = q;
dataGridView1.Rows[i].Cells[6].Value = w;
}
}
// gridControl3.DataSource = dt;
//dataGridView1.DataSource = dt;
dtp.Properties.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
dtp.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
dtp.Properties.EditFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
dtp.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
dtp.Properties.Mask.EditMask = "yyyy-MM-dd HH:mm:ss";
dtp.Properties.VistaDisplayMode = DevExpress.Utils.DefaultBoolean.True;
dtp.Properties.VistaEditTime = DevExpress.Utils.DefaultBoolean.True;
dtp.Properties.VistaTimeProperties.DisplayFormat.FormatString = "HH:mm:ss";
dtp.Properties.VistaTimeProperties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
dtp.Properties.VistaTimeProperties.EditFormat.FormatString = "HH:mm:ss";
dtp.Properties.VistaTimeProperties.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
dtp.Properties.VistaTimeProperties.Mask.EditMask = "HH:mm:ss";
//
dataGridView1.Columns[0].Width = 100;
dataGridView1.Columns[1].Width = 170;
dataGridView1.Columns[2].Width = 170;
dataGridView1.Columns[3].Width = 100;
dataGridView1.Columns[4].Width = 100;
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1 || e.ColumnIndex == 2)
{
_Rectangle = dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true); //得到所在单元格位置和大小
dtp.Size = new Size(_Rectangle.Width, _Rectangle.Height); //把单元格大小赋给时间控件
dtp.Location = new Point(_Rectangle.X, _Rectangle.Y); //把单元格位置赋给时间控件
dtp.Visible = true; //显示控件
}
else
dtp.Visible = false;
}
private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
{
dtp.Visible = false;
}
private void dataGridView1_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
{
dtp.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
int i = dataGridView1.Rows.Add();
dataGridView1.Rows[i].Cells[0].Value = textBox3.Text;
dataGridView1.Rows[i].Cells[1].Value = DateTime.Now.ToString(("yyyy-MM-dd HH:mm:ss"));
dataGridView1.Rows[i].Cells[2].Value = DateTime.Now.ToString(("yyyy-MM-dd HH:mm:ss"));
dataGridView1.Rows[i].Cells[3].Value = ""; ;
dataGridView1.Rows[i].Cells[4].Value = "";
dataGridView1.Rows[i].Cells[5].Value = ""; ;
dataGridView1.Rows[i].Cells[6].Value = "";
}
private void button2_Click(object sender, EventArgs e)
{
//DateTime time = Convert.ToDateTime(dataGridView1.Rows[i].Cells[1].Value);
//DateTime date1 = Convert.ToDateTime(DateTime.Now.ToString(("yyyy-MM-dd hh:mm:ss")));
//TimeSpan diff1 = date1.Subtract(time);
//int d = (int)diff1.TotalMinutes;
//if ((d > 0))
//{
//}
//else
//{
// MessageBox.Show("开始时间数不应该大于目前时间数", "注意", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//}
// //XmlDocument doc = new XmlDocument();
//doc.Load("info.xml");
////获取根节点
//XmlElement root2 = doc.DocumentElement;
////获取子节点
//XmlNodeList pnodes = root2.GetElementsByTagName("attribute");
//使用foreach循环读出集合
//if (!File.Exists("info.xml"))
//{
//创建一个XML文档对象
//XmlDocument doc = new XmlDocument();
//声明XML头部信息
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
//添加进doc对象子节点
doc.AppendChild(dec);
//创建根节点
root = doc.CreateElement("参数");
doc.AppendChild(root);
//}
//else
//{
// //XmlDocument doc = new XmlDocument();
// doc.Load("info.xml");
// //获取根节点
// root = doc.DocumentElement;
// //获取子节点
// XmlNodeList pnodes = root.GetElementsByTagName("attribute");
// //使用foreach循环读出集合
//}
//开始循环保存数据
// MessageBox.Show(dataGridView1.Rows.Count.ToString ());
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
string linename = dataGridView1.Rows[i].Cells[0].Value.ToString();//量产1线
string starttimer = dataGridView1.Rows[i].Cells[1].Value.ToString();//开始时间
string stoptimer = dataGridView1.Rows[i].Cells[2].Value.ToString();//结束时间
string checkyy = dataGridView1.Rows[i].Cells[3].Value.ToString();//对位人员
string CMW = dataGridView1.Rows[i].Cells[4].Value.ToString();//金样编号
string checky = dataGridView1.Rows[i].Cells[5].Value.ToString();//对位人员
string CMWs = dataGridView1.Rows[i].Cells[6].Value.ToString();//金样编号
//MessageBox.Show(starttimer);
//MessageBox.Show(stoptimer);
//再创建根节点下的子节点
XmlElement student = doc.CreateElement("attribute");
//设置子节点属性
student.SetAttribute("Lines", linename);
//子节点下再创建标记
XmlElement one_X = doc.CreateElement("开始时间");
//<X>的内容
XmlText xmlText1 = doc.CreateTextNode(starttimer);//存储x的值
//将内容添加到<X>标记
one_X.AppendChild(xmlText1);
//再将<X>标记添加到<上下料>标记的子节点下
student.AppendChild(one_X);
XmlElement one_Y = doc.CreateElement("结束时间");
XmlText xmlText2 = doc.CreateTextNode(stoptimer);//存储y的值
one_Y.AppendChild(xmlText2);
student.AppendChild(one_Y);
XmlElement one_Z = doc.CreateElement("对位人员");
XmlText xmlText3 = doc.CreateTextNode(checkyy);//存储z的值
one_Z.AppendChild(xmlText3);
student.AppendChild(one_Z);
XmlElement one_U = doc.CreateElement("金样编号");
XmlText xmlTextU = doc.CreateTextNode(CMW);//存储z的值
one_U.AppendChild(xmlTextU);
student.AppendChild(one_U);
XmlElement one_Z2 = doc.CreateElement("机型");
XmlText xmlText32 = doc.CreateTextNode(checky);//存储z的值
one_Z2.AppendChild(xmlText32);
student.AppendChild(one_Z2);
XmlElement one_U3 = doc.CreateElement("对位类型");
XmlText xmlTextU3 = doc.CreateTextNode(CMWs);//存储z的值
one_U3.AppendChild(xmlTextU3);
student.AppendChild(one_U3);
//最后把标记添加到根节点的子节点下
root.AppendChild(student);
}
//doc文档对象保存写入
doc.Save("info.xml");
// SaveXML();
MessageBox.Show("数据保存完成; 工具将会重新启动");
Process.Start("对位时间倒计时工具.exe");
Application.Exit();
// this.Hide ();
//Application.EnableVisualStyles();
//Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Main());
}
private void SaveXML()
{
//处理XML
//创建一个XML文档对象
XmlDocument doc = new XmlDocument();
//声明XML头部信息
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
//添加进doc对象子节点
doc.AppendChild(dec);
//创建根节点
XmlElement root = doc.CreateElement("参数");
doc.AppendChild(root);
//开始循环保存数据
// MessageBox.Show(gridView3.RowCount.ToString());
for (int i = 0; i < dataGridView1 .Rows .Count ; i++)
{
string linename = dataGridView1.Rows[i].Cells[0].Value.ToString () ;//量产1线
string starttimer = dataGridView1.Rows[i].Cells[1].Value.ToString();//开始时间
string stoptimer = dataGridView1.Rows[i].Cells[2].Value.ToString();//结束时间
string checkyy = dataGridView1.Rows[i].Cells[3].Value.ToString();//对位人员
string CMW = dataGridView1.Rows[i].Cells[4].Value.ToString();//金样编号
//再创建根节点下的子节点
XmlElement student = doc.CreateElement("attribute");
//设置子节点属性
student.SetAttribute("Lines", linename);
//子节点下再创建标记
XmlElement one_X = doc.CreateElement("开始时间");
//<X>的内容
XmlText xmlText1 = doc.CreateTextNode(starttimer);//存储x的值
//将内容添加到<X>标记
one_X.AppendChild(xmlText1);
//再将<X>标记添加到<上下料>标记的子节点下
student.AppendChild(one_X);
XmlElement one_Y = doc.CreateElement("结束时间");
XmlText xmlText2 = doc.CreateTextNode(stoptimer);//存储y的值
one_Y.AppendChild(xmlText2);
student.AppendChild(one_Y);
XmlElement one_Z = doc.CreateElement("对位人员");
XmlText xmlText3 = doc.CreateTextNode(checkyy);//存储z的值
one_Z.AppendChild(xmlText3);
student.AppendChild(one_Z);
XmlElement one_U = doc.CreateElement("金样编号");
XmlText xmlTextU = doc.CreateTextNode(CMW);//存储z的值
one_U.AppendChild(xmlTextU);
student.AppendChild(one_U);
//最后把标记添加到根节点的子节点下
root.AppendChild(student);
}
//doc文档对象保存写入
doc.Save("info.xml");
}
private void 删除选中行ToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentCell.RowIndex);
//dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
// this.dataGridView1.SelectedCells[0].Value.ToString();
}
}
//================================工具界面================