WinFormTools/WinformGeneralDeveloperFrame/FrmsysDataTable.cs

180 lines
5.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Entity.Migrations;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Grid;
using MES.Entity;
using WinformGeneralDeveloperFrame;
using WinformGeneralDeveloperFrame.Commons;
namespace MES.Form
{
public partial class FrmsysDataTable : FrmBaseForm
{
public FrmsysDataTable()
{
InitializeComponent();
}
private void FrmsysDataTable_Load(object sender, EventArgs e)
{
grdListView.OptionsBehavior.Editable = false;
using (var db=new DB())
{
grdList.DataSource = db.sysDataTableInfo.ToList();
}
init();
}
private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e)
{
using (var db = new DB())
{
var info = db.sysDataBase.Where(p => p.name.Equals(comboBoxEdit1.Text)).FirstOrDefault();
if(info!=null)
txtDataTableUrl.Text = info.connecturl;
}
}
private void btnTest_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtDataTableSql.Text))
{
"请填写SQL".ShowWarning();
txtDataTableSql.Focus();
return;
}
if (string.IsNullOrEmpty(txtDataTableUrl.Text))
{
"请选择数据源!".ShowWarning();
comboBoxEdit1.Focus();
return;
}
if (!string.IsNullOrEmpty(txtDataTableSql.Text)&&!string.IsNullOrEmpty(txtDataTableUrl.Text))
{
gridView1.Columns.Clear();
try
{
using (SqlConnection connection = new SqlConnection(txtDataTableUrl.Text))
{
connection.Open();
gridControl1.DataSource = SqlTable(txtDataTableSql.Text, connection);
}
}
catch (Exception ex)
{
ex.Message.ShowError();
}
}
}
/// <summary>
///初始化数据连接下拉框
/// </summary>
private void init()
{
comboBoxEdit1.Properties.Items.Clear();
using (var con = new DB())
{
var data = con.sysDataBase.ToList();
foreach (var item in data)
{
comboBoxEdit1.Properties.Items.Add(item.name);
}
comboBoxEdit1.SelectedIndex = 0;
}
}
private void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtDataTableName.Text))
{
"请填写数据集名称!".ShowWarning();
txtDataTableName.Focus();
return;
}
if (string.IsNullOrEmpty(txtDataTableSql.Text))
{
"请填写SQL".ShowWarning();
txtDataTableSql.Focus();
return;
}
if (string.IsNullOrEmpty(txtDataTableUrl.Text))
{
"请选择数据源!".ShowWarning();
comboBoxEdit1.Focus();
return;
}
try
{
using (var con = new DB())
{
sysDataTableInfo info = new sysDataTableInfo()
{
DataTableName = txtDataTableName.Text,
DataTableUrl = txtDataTableUrl.Text,
DataTableSql = txtDataTableSql.Text,
DataSourceName = comboBoxEdit1.Text
};
con.sysDataTableInfo.AddOrUpdate(info);
con.SaveChanges();
}
"保存成功!".ShowTips();
using (var db = new DB())
{
grdList.DataSource = db.sysDataTableInfo.ToList();
}
}
catch (Exception ex)
{
ex.StackTrace.ShowError();
}
}
public static DataTable SqlTable(string sql, SqlConnection conn)
{
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
SqlDataAdapter sqlda = new SqlDataAdapter(cmd);
sqlda.Fill(dt);
return dt;
}
private void txtDataTableName_Leave(object sender, EventArgs e)
{
using (var con = new DB())
{
var data = con.sysDataTableInfo.Find(txtDataTableName.Text);
if (null != data)
{
"数据集名称已存在!".ShowWarning();
txtDataTableName.Focus();
}
}
}
private void grdList_MouseDoubleClick(object sender, MouseEventArgs e)
{
var dr = this.grdListView.GetFocusedRow();
if (dr != null)
{
xtraTabControl1.SelectedTabPageIndex = 1;
sysDataTableInfo info = dr as sysDataTableInfo;
txtDataTableName.Text = info.DataTableName;
txtDataTableUrl.Text = info.DataTableUrl;
txtDataTableSql.Text = info.DataTableSql;
comboBoxEdit1.Text = info.DataSourceName;
}
}
}
}