init lserp cs 5.0
This commit is contained in:
@@ -0,0 +1,366 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using DevExpress.XtraGrid;
|
||||
using DevExpress.XtraGrid.Views.Grid;
|
||||
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
|
||||
using CommonLib;
|
||||
|
||||
namespace Lskj.Common
|
||||
{
|
||||
public class GridDragTree
|
||||
{
|
||||
private string SQLDT1;
|
||||
private string filedKey;
|
||||
private DataRow sdkModel;
|
||||
|
||||
public GridDragTree(Form thisForm, GridControl grid, TreeView target, DragEventHandler Complete, DataRow sdkModel, string SQLDT1, string filedKey)
|
||||
{
|
||||
opForm = thisForm;
|
||||
currentGridView = (GridView)grid.FocusedView;
|
||||
dragComplete = Complete;
|
||||
grid.FocusedView.MouseDown += new MouseEventHandler(gridMouseDown);
|
||||
grid.FocusedView.MouseMove += new MouseEventHandler(gridMouseMove);
|
||||
target.HideSelection = false;
|
||||
target.DragOver += new DragEventHandler(objDragOver);
|
||||
target.DragDrop += new DragEventHandler(objDragDrop);
|
||||
target.AllowDrop = true;
|
||||
this.sdkModel = sdkModel;
|
||||
this.SQLDT1 = SQLDT1;
|
||||
this.filedKey = filedKey;
|
||||
}
|
||||
|
||||
private GridHitInfo downHitInfo = null;
|
||||
private GridView currentGridView = null;
|
||||
Form opForm = null;
|
||||
DragEventHandler dragComplete = null;
|
||||
|
||||
private void gridMouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
GridView view = sender as GridView;
|
||||
downHitInfo = null;
|
||||
GridHitInfo hitInfo = view.CalcHitInfo(new Point(e.X, e.Y));
|
||||
if (Control.ModifierKeys != Keys.None) return;
|
||||
if (e.Button == MouseButtons.Left && hitInfo.RowHandle >= 0)
|
||||
downHitInfo = hitInfo;
|
||||
}
|
||||
|
||||
private void gridMouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
GridView view = sender as GridView;
|
||||
if (e.Button == MouseButtons.Left && downHitInfo != null)
|
||||
{
|
||||
Size dragSize = SystemInformation.DragSize;
|
||||
Rectangle dragRect = new Rectangle(new Point(downHitInfo.HitPoint.X - dragSize.Width / 2,
|
||||
downHitInfo.HitPoint.Y - dragSize.Height / 2), dragSize);
|
||||
|
||||
if (!dragRect.Contains(new Point(e.X, e.Y)))
|
||||
{
|
||||
object row = view.GetRow(downHitInfo.RowHandle);
|
||||
view.GridControl.DoDragDrop(row, DragDropEffects.Move);
|
||||
downHitInfo = null;
|
||||
DevExpress.Utils.DXMouseEventArgs.GetMouseArgs(e).Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
private void objDragOver(object sender, DragEventArgs e)
|
||||
{
|
||||
(sender as TreeView).Select();
|
||||
e.Effect = DragDropEffects.Move;
|
||||
TreeNode tn = null;
|
||||
Point pt = new Point();
|
||||
pt.X = e.X;
|
||||
pt.Y = e.Y;
|
||||
tn = (sender as TreeView).GetNodeAt((sender as TreeView).PointToClient(pt));
|
||||
if (tn == null)
|
||||
return;
|
||||
(sender as TreeView).SelectedNode = tn;
|
||||
if (tn.GetNodeCount(true) > 0)
|
||||
tn.Expand();
|
||||
}
|
||||
|
||||
private void objDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
//这里处理拖放后的操作,比如更改选中数据属性
|
||||
TreeNode tn = null;
|
||||
Point pt = new Point();
|
||||
pt.X = e.X;
|
||||
pt.Y = e.Y;
|
||||
tn = (sender as TreeView).GetNodeAt((sender as TreeView).PointToClient(pt));
|
||||
if (tn == null)
|
||||
return;
|
||||
if (tn.GetNodeCount(true) > 0)
|
||||
{
|
||||
MessageBox.Show("【" + tn.Text + "】不是最后一级不能拖拽");
|
||||
return;
|
||||
}
|
||||
if (MessageBox.Show("确定将所选档案信息转移到[" + tn.Text + "]", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//选中行操作,修改或者删除
|
||||
int[] rowid = currentGridView.GetSelectedRows();
|
||||
foreach (int rid in rowid)
|
||||
{
|
||||
DataRow dr = currentGridView.GetDataRow(rid);
|
||||
SqlHelper.ExecuteNonQuery("update " + SQLDT1 + " set " + sdkModel["fieldname"] + "='" + tn.Name + "' where " + filedKey + "='" + dr[filedKey] + "'");
|
||||
}
|
||||
dragComplete(sender, e);
|
||||
}
|
||||
}
|
||||
public class GridDrag2Grid
|
||||
{
|
||||
private GridHitInfo downHitInfo;
|
||||
GridView sourceView = null;
|
||||
GridView targetView = null;
|
||||
public callBack internal_func { get; set; }
|
||||
private bool dragIng = false;
|
||||
public delegate void callBack(object sender);
|
||||
|
||||
public GridDrag2Grid(GridControl source, GridControl target, callBack callFunc)
|
||||
{
|
||||
internal_func = callFunc;
|
||||
sourceView = (source.FocusedView as GridView);
|
||||
targetView = (target.FocusedView as GridView);
|
||||
(source.FocusedView as GridView).OptionsSelection.MultiSelect = true;
|
||||
source.FocusedView.MouseDown += new MouseEventHandler(gridViewMouseDown);
|
||||
source.FocusedView.MouseMove += new MouseEventHandler(gridViewMouseMove);
|
||||
source.FocusedView.MouseUp += new MouseEventHandler(gridViewMouseUp);
|
||||
target.AllowDrop = true;
|
||||
target.DragEnter += new DragEventHandler(gridDragEnter);
|
||||
target.DragDrop += new DragEventHandler(gridDragDrop);
|
||||
}
|
||||
private void gridMouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
downHitInfo = sourceView.CalcHitInfo(new Point(e.X, e.Y));
|
||||
dragIng = true;
|
||||
}
|
||||
|
||||
|
||||
private void gridMouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (downHitInfo == null) return;
|
||||
if (e.Button != MouseButtons.Left) return;
|
||||
Rectangle dragRect = new Rectangle(new Point(
|
||||
downHitInfo.HitPoint.X - SystemInformation.DragSize.Width / 2,
|
||||
downHitInfo.HitPoint.Y - SystemInformation.DragSize.Height / 2), SystemInformation.DragSize);
|
||||
if (!dragRect.Contains(new Point(e.X, e.Y)))
|
||||
{
|
||||
DataRow data = sourceView.GetDataRow(downHitInfo.RowHandle);
|
||||
int[] rows = sourceView.GetSelectedRows();
|
||||
List<DataRow> row = new List<DataRow>();
|
||||
for (int i = 0; i < rows.Length; i++)
|
||||
row.Add(sourceView.GetDataRow((int)rows[i]));
|
||||
(sender as GridControl).DoDragDrop(row, DragDropEffects.Move);
|
||||
}
|
||||
}
|
||||
private void gridViewMouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
targetView.Tag = "1";
|
||||
dragIng = true;
|
||||
GridView view = sender as GridView;
|
||||
downHitInfo = null;
|
||||
GridHitInfo hitInfo = view.CalcHitInfo(new Point(e.X, e.Y));
|
||||
if (Control.ModifierKeys != Keys.None) return;
|
||||
if (e.Button == MouseButtons.Left && hitInfo.RowHandle >= 0)
|
||||
downHitInfo = hitInfo;
|
||||
}
|
||||
|
||||
private void gridViewMouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
dragIng = false;
|
||||
targetView.Tag = "0";
|
||||
}
|
||||
|
||||
private void gridViewMouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
GridView view = sender as GridView;
|
||||
if (e.Button == MouseButtons.Left && downHitInfo != null)
|
||||
{
|
||||
Size dragSize = SystemInformation.DragSize;
|
||||
Rectangle dragRect = new Rectangle(new Point(downHitInfo.HitPoint.X - dragSize.Width / 2,
|
||||
downHitInfo.HitPoint.Y - dragSize.Height / 2), dragSize);
|
||||
|
||||
if (!dragRect.Contains(new Point(e.X, e.Y)))
|
||||
{
|
||||
object row = view.GetRow(downHitInfo.RowHandle);
|
||||
view.GridControl.DoDragDrop(row, DragDropEffects.Move);
|
||||
downHitInfo = null;
|
||||
DevExpress.Utils.DXMouseEventArgs.GetMouseArgs(e).Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void gridDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.Move;
|
||||
targetView.Tag = "1";
|
||||
}
|
||||
private void gridDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
if (internal_func != null)
|
||||
{
|
||||
if (dragIng == true)
|
||||
{
|
||||
internal_func(sender);
|
||||
dragIng = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
GridControl grid = sender as GridControl;
|
||||
DataTable table = grid.DataSource as DataTable;
|
||||
List<DataRow> row = e.Data.GetData(typeof(List<DataRow>)) as List<DataRow>;
|
||||
if (row != null && table != null)
|
||||
{
|
||||
if (row.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < row.Count; i++)
|
||||
{
|
||||
table.ImportRow(row[i]);
|
||||
row[i].Delete(); // 把原有的数据行删除。
|
||||
}
|
||||
}
|
||||
}
|
||||
dragIng = false;
|
||||
|
||||
targetView.Tag = "0";
|
||||
}
|
||||
}
|
||||
|
||||
public class GridDrag2GridUpdate
|
||||
{
|
||||
private GridHitInfo downHitInfo;
|
||||
GridView sourceView = null;
|
||||
GridView targetView = null;
|
||||
public callBack internal_func { get; set; }
|
||||
private bool dragIng = false;
|
||||
public delegate void callBack(object sender);
|
||||
|
||||
public GridDrag2GridUpdate(GridControl source, GridControl target, callBack callFunc)
|
||||
{
|
||||
internal_func = callFunc;
|
||||
sourceView = (source.FocusedView as GridView);
|
||||
targetView = (target.FocusedView as GridView);
|
||||
source.FocusedView.MouseDown += new MouseEventHandler(gridViewMouseDown);
|
||||
source.FocusedView.MouseMove += new MouseEventHandler(gridViewMouseMove);
|
||||
source.FocusedView.MouseUp += new MouseEventHandler(gridViewMouseUp);
|
||||
target.AllowDrop = true;
|
||||
target.DragOver += new DragEventHandler(target_DragOver);
|
||||
target.DragEnter += new DragEventHandler(gridDragEnter);
|
||||
target.DragDrop += new DragEventHandler(gridDragDrop);
|
||||
}
|
||||
private void gridMouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
downHitInfo = sourceView.CalcHitInfo(new Point(e.X, e.Y));
|
||||
dragIng = true;
|
||||
targetView.Tag = "1";
|
||||
}
|
||||
|
||||
|
||||
private void gridMouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (downHitInfo == null) return;
|
||||
if (e.Button != MouseButtons.Left) return;
|
||||
Rectangle dragRect = new Rectangle(new Point(
|
||||
downHitInfo.HitPoint.X - SystemInformation.DragSize.Width / 2,
|
||||
downHitInfo.HitPoint.Y - SystemInformation.DragSize.Height / 2), SystemInformation.DragSize);
|
||||
if (!dragRect.Contains(new Point(e.X, e.Y)))
|
||||
{
|
||||
DataRow data = sourceView.GetDataRow(downHitInfo.RowHandle);
|
||||
int[] rows = sourceView.GetSelectedRows();
|
||||
List<DataRow> row = new List<DataRow>();
|
||||
for (int i = 0; i < rows.Length; i++)
|
||||
row.Add(sourceView.GetDataRow((int)rows[i]));
|
||||
(sender as GridControl).DoDragDrop(row, DragDropEffects.Move);
|
||||
}
|
||||
}
|
||||
private void gridViewMouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
targetView.Tag = "1";
|
||||
dragIng = true;
|
||||
GridView view = sender as GridView;
|
||||
downHitInfo = null;
|
||||
GridHitInfo hitInfo = view.CalcHitInfo(new Point(e.X, e.Y));
|
||||
if (Control.ModifierKeys != Keys.None) return;
|
||||
if (e.Button == MouseButtons.Left && hitInfo.RowHandle >= 0)
|
||||
downHitInfo = hitInfo;
|
||||
}
|
||||
|
||||
private void gridViewMouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
GridView view = sender as GridView;
|
||||
if (e.Button == MouseButtons.Left && downHitInfo != null)
|
||||
{
|
||||
Size dragSize = SystemInformation.DragSize;
|
||||
Rectangle dragRect = new Rectangle(new Point(downHitInfo.HitPoint.X - dragSize.Width / 2,
|
||||
downHitInfo.HitPoint.Y - dragSize.Height / 2), dragSize);
|
||||
|
||||
if (!dragRect.Contains(new Point(e.X, e.Y)))
|
||||
{
|
||||
object row = view.GetRow(downHitInfo.RowHandle);
|
||||
view.GridControl.DoDragDrop(row, DragDropEffects.Move);
|
||||
downHitInfo = null;
|
||||
DevExpress.Utils.DXMouseEventArgs.GetMouseArgs(e).Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void gridViewMouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
dragIng = false;
|
||||
targetView.Tag = "0";
|
||||
}
|
||||
|
||||
private void target_DragOver(object sender, DragEventArgs e)
|
||||
{
|
||||
GridControl targetControl = (sender as GridControl);
|
||||
GridView targetGrid = targetControl.FocusedView as GridView;
|
||||
Point gcPoint = targetControl.PointToScreen((sender as GridControl).Location);
|
||||
Point pt = new Point(e.X - gcPoint.X, e.Y - gcPoint.Y);
|
||||
downHitInfo = targetGrid.CalcHitInfo(pt);
|
||||
if (downHitInfo == null || downHitInfo.RowHandle < 0) return;
|
||||
targetGrid.SelectRow(downHitInfo.RowHandle);
|
||||
targetGrid.FocusedRowHandle = downHitInfo.RowHandle;
|
||||
}
|
||||
private void gridDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.Move;
|
||||
targetView.Tag = "1";
|
||||
}
|
||||
private void gridDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
if (internal_func != null)
|
||||
{
|
||||
if (dragIng == true)
|
||||
{
|
||||
internal_func(sender);
|
||||
dragIng = false;
|
||||
}
|
||||
targetView.Tag = "0";
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
GridControl grid = sender as GridControl;
|
||||
DataTable table = grid.DataSource as DataTable;
|
||||
List<DataRow> row = e.Data.GetData(typeof(List<DataRow>)) as List<DataRow>;
|
||||
if (row != null && table != null)
|
||||
{
|
||||
if (row.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < row.Count; i++)
|
||||
{
|
||||
table.ImportRow(row[i]);
|
||||
row[i].Delete(); // 把原有的数据行删除。
|
||||
}
|
||||
}
|
||||
}
|
||||
targetView.Tag = "0";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user