背景:因公司小組人員結構調整優化及各線剩餘時間可視化。
此工具分爲兩部份:
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();
}
}
//================================工具界面================