sc 1 year ago
parent
commit
ecc19097bd
  1. 28
      UserClass/SqliteHelper.cs
  2. 48
      View/ProgramstepsView .xaml.cs

28
UserClass/SqliteHelper.cs

@ -655,8 +655,32 @@ namespace DyeingComputer.UserClass
return buf.ToString();
}
#endregion
/// <summary>
/// 将 DataTable 转换为 Dictionary 类型数据
/// </summary>
public Dictionary<string, object> DataTableToDictionary(DataTable dataTable)
{
Dictionary<string, object> result = new Dictionary<string, object>();
if (dataTable != null)
{
foreach (DataRow dataRow in dataTable.Rows)
{
foreach (DataColumn dataColumn in dataTable.Columns)
{
result.Add(dataColumn.ColumnName, dataRow[dataColumn].ToString());
//result = Console.WriteLine(dataRow[dataColumn].ToString());
//result.Add(dataColumn.ColumnName, dataRow[dataColumn].ToString())(new RepeatDictionaryComparer());
}
}
}
else
{
result = null;
}
return result;
}
}
#endregion
}
}

48
View/ProgramstepsView .xaml.cs

@ -4,9 +4,12 @@ using formula_manage.UserClass;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Data.SQLite;
using System.Diagnostics.Eventing.Reader;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
@ -51,7 +54,7 @@ namespace DyeingComputer.View
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
string sql_script = "select * from ProgramSteps where ProgramID='"+ ProgramID + "' order by Step desc";
string sql_script = "select * from ProgramSteps where ProgramID='" + ProgramID + "' order by Step desc";
if (sql != null) sql.Clear(); //清空缓存
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
@ -70,13 +73,13 @@ namespace DyeingComputer.View
public void Dat()//行号刷新
{
int a = sql.Tables[0].Rows.Count;
for(int i = 0; i <a; i++)
int a = sql.Tables[0].Rows.Count;
for (int i = 0; i < a; i++)
{
DataRow dr = sql.Tables[0].Rows[i];
dr.BeginEdit();
dr["Step"] = i+1;
dr.EndEdit();
dr["Step"] = i + 1;
dr.EndEdit();
}
}
@ -96,7 +99,7 @@ namespace DyeingComputer.View
{
}
private void ProgramgroupView_Quit_Click(object sender, RoutedEventArgs e)//
private void ProgramgroupView_Quit_Click(object sender, RoutedEventArgs e)//退出
{
this.Visibility = Visibility.Collapsed;//隐藏控件
}
@ -116,25 +119,50 @@ namespace DyeingComputer.View
}
private void ProgramgroupView_Insert_Click(object sender, RoutedEventArgs e)//插入行
{
int d=0;
int d = 0;
if (ID != null) { d = StrToInt.To16Convert10(ID); } else { return; }
DataRow dr = sql.Tables[0].NewRow();//添加表数据
dr["ProgramID"] = ProgramID;
dr["Program"] = ProgramNAME;
sql.Tables[0].Rows.InsertAt(dr,d-1);
sql.Tables[0].Rows.InsertAt(dr, d - 1);
ID = null;
Dat();
Grid.ItemsSource = sql.Tables[0].DefaultView; //转换显示计划表
}
private void ProgramgroupView_Save_Click(object sender, RoutedEventArgs e)//
private void ProgramgroupView_Save_Click(object sender, RoutedEventArgs e)//保存
{
int r = 0;
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.Delete("ProgramSteps", "ProgramID = '" + ProgramID + "'", null);
DataTable data_t = new DataTable();
data_t = sql.Tables[0].Clone();
SQLiteHelpers.Delete("ProgramSteps", "ProgramID = '"+ ProgramID + "'", null);
int a = sql.Tables[0].Rows.Count;
for (int i = 0; i < a - 1; i++)
{
data_t.Clear();//清空
DataRow dt = sql.Tables[0].Rows[i];//行转换
DataRow dr = data_t.NewRow();
dr.ItemArray = dt.ItemArray;
data_t.Rows.InsertAt(dr, 0);
r = SQLiteHelpers.InsertData("ProgramSteps", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
}
SQLiteHelpers.Close(); //关闭连接
if (r != 0)
{
System.Windows.Forms.MessageBox.Show(ProgramNAME, Properties.Resources.Save);
this.Visibility = Visibility.Collapsed;//隐藏控件
}
}
}
}

Loading…
Cancel
Save