using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using FastReport.Editor; using FastReport.DevComponents.DotNetBar; namespace formula_manage.View { /// /// ViewProcess.xaml 的交互逻辑 /// public partial class ViewOrder: UserControl { public string INIPath = Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "formula.ini"; //配置文件路径 string TEXT_SQLIP; string TEXT_SQLNAME; string TEXT_SQMOD; string TEXT_SQLUSER; string TEXT_SQLPASWOR; string Connstr_SC; DataTable dataTable = new DataTable(); //建立缓存 public ViewOrder() { InitializeComponent(); condition.Items.Add(""); condition.Items.Add("工艺"); condition.Items.Add("客户"); condition.Items.Add("品名"); sql_(); } private async void sql_() { UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath);//生效配置读取 TEXT_SQLIP = Configini.IniReadvalue("SQL_SERVER", "SQL1"); //读配置文件 TEXT_SQLNAME = Configini.IniReadvalue("SQL_SERVER", "SQL2"); TEXT_SQMOD = Configini.IniReadvalue("SQL_SERVER", "SQL3"); TEXT_SQLUSER = Configini.IniReadvalue("SQL_SERVER", "SQL4"); TEXT_SQLPASWOR = Configini.IniReadvalue("SQL_SERVER", "SQL5"); if (TEXT_SQMOD == "0") //判断连接方式 { Connstr_SC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";Trusted_Connection=SSPI"; } else { Connstr_SC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";User ID=" + TEXT_SQLUSER + ";Password=" + TEXT_SQLPASWOR; } string order_sql = "SELECT OrdeNO ,ProcessNAME ,ProcessCODE ,colour ,customer ,OrdeTime ,REMARK FROM [Dispensing].[dbo].[ORDER] order by OrdeTime desc";//查询语句 SqlConnection conn_SC = new SqlConnection(Connstr_SC); //实例化 try { await conn_SC.OpenAsync(); //打开数据连接 SqlDataAdapter Stuff_data = new SqlDataAdapter(order_sql, Connstr_SC); //查询 dataTable.Clear(); Stuff_data.Fill(dataTable); //查询结果存入缓存 conn_SC.Close(); //关闭连接 Order.ItemsSource = dataTable.DefaultView; //数据加入表格 //Order.DisplayMemberPath = "Name"; } catch (Exception) { System.Windows.MessageBox.Show("请求信息失败,检查连接"); return; } } private async void Button_search(object sender, RoutedEventArgs e)//搜索按钮 { int a; string order_sql = "SELECT OrdeNO ,ProcessNAME ,ProcessCODE ,colour ,customer ,OrdeTime ,REMARK FROM [Dispensing].[dbo].[ORDER] order by OrdeTime desc";//查询语句 a = condition.SelectedIndex; //获取选择条件 if(a==1) order_sql = "SELECT OrdeNO ,ProcessNAME ,ProcessCODE ,colour ,customer ,OrdeTime ,REMARK FROM [Dispensing].[dbo].[ORDER] where ProcessNAME = '"+ search.Text + "' order by OrdeTime desc";//查询语句 else if(a==2) order_sql = "SELECT OrdeNO ,ProcessNAME ,ProcessCODE ,colour ,customer ,OrdeTime ,REMARK FROM [Dispensing].[dbo].[ORDER] where customer = '" + search.Text + "' order by OrdeTime desc";//查询语句 else if (a == 3) order_sql = "SELECT OrdeNO ,ProcessNAME ,ProcessCODE ,colour ,customer ,OrdeTime ,REMARK FROM [Dispensing].[dbo].[ORDER] where colour = '" + search.Text + "' order by OrdeTime desc";//查询语句 else if (a == 0) order_sql = "SELECT OrdeNO ,ProcessNAME ,ProcessCODE ,colour ,customer ,OrdeTime ,REMARK FROM [Dispensing].[dbo].[ORDER] order by OrdeTime desc";//查询语句 SqlConnection conn_SC = new SqlConnection(Connstr_SC); //实例化 try { await conn_SC.OpenAsync(); //打开数据连接 SqlDataAdapter Stuff_data = new SqlDataAdapter(order_sql, Connstr_SC); //查询 dataTable.Clear(); Stuff_data.Fill(dataTable); //查询结果存入缓存 conn_SC.Close(); //关闭连接 Order.ItemsSource = dataTable.DefaultView; //数据加入表格 //Order.DisplayMemberPath = "Name"; } catch (Exception) { System.Windows.MessageBox.Show("请求信息失败"); return; } } public delegate void SendMessage(string[] value); public SendMessage sendMessage; string[] OrderData = new string[7]; private void DataGridOrder_MouseDoubleClick(object sender, MouseButtonEventArgs e)//数据表双击事件 { int rownum = Order.SelectedIndex;//获取鼠标选中行并定义变量 if (rownum != -1)//判断鼠标定位是否有效 { /*定位选中行及指定列单元格文本信息*/ OrderData[0] = (Order.Columns[0].GetCellContent(Order.Items[rownum]) as TextBlock).Text.Trim();//定位第列 OrderData[1] = (Order.Columns[1].GetCellContent(Order.Items[rownum]) as TextBlock).Text.Trim();//定位第列 OrderData[2] = (Order.Columns[2].GetCellContent(Order.Items[rownum]) as TextBlock).Text.Trim();//定位第列 OrderData[3] = (Order.Columns[3].GetCellContent(Order.Items[rownum]) as TextBlock).Text.Trim();//定位第列 OrderData[4] = (Order.Columns[4].GetCellContent(Order.Items[rownum]) as TextBlock).Text.Trim();//定位第列 OrderData[5] = (Order.Columns[5].GetCellContent(Order.Items[rownum]) as TextBlock).Text.Trim();//定位第列 OrderData[6] = (Order.Columns[6].GetCellContent(Order.Items[rownum]) as TextBlock).Text.Trim();//定位第列 sendMessage(OrderData); //传入数组 } } } }