資源簡介
FlexCell .net control控件本身對拖拽操作支持不好,特別是對當前grid的cell內空拖至當前grid的另外的cell中,本例程通過其它的方法實現。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
namespace?flexcellDrag
{
????public?partial?class?Form2?:?Form
????{
????????private?int?currRow?currCol;
????????public?Form2()
????????{
????????????InitializeComponent();
????????}
????????private?void?Form2_Load(object?sender?EventArgs?e)
????????{
????????????grid1.Rows?=?10;
????????????grid1.Cols?=?10;
????????????for?(int?i?=?0;?i?10;?i++)
????????????{
????????????????grid1.Column(i).Locked?=?true;
????????????????for?(int?j?=?0;?j?10;?j++)
????????????????{
????????????????????grid1.Cell(i?j).Text?=?string.Format(“{0}-{1}“?i?j);
????????????????}
????????????}
????????}
????????bool?isBegDrag?=?false;
????????int?begCol?begRow;
????????private?void?grid1_MouseDown(object?Sender?MouseEventArgs?e)
????????{
????????????if?(e.Button?==?MouseButtons.Left)
????????????{
????????????????isBegDrag?=?true;
????????????????begCol?=?currCol;
????????????????begRow?=?currRow;
????????????????grid1.Cursor?=?Cursors.Hand;
????????????}
????????????this.Text?=?string.Format(“begRow:{0}begCol:{1}currRow:{2}currCol:{3}“?begRow?begCol?currRow?currCol);
????????}
????????private?void?grid1_RowColChange(object?Sender?FlexCell.Grid.RowColChangeEventArgs?e)
????????{
????????????currCol?=?e.Col;
????????????currRow?=?e.Row;
????????}
????????private?void?GetCurrRowCol(MouseEventArgs?e)
????????{
????????????double?tX?tY?tX1?tY1;
????????????tX?=?0;//?this.Left?+?grid1.Left;
????????????tY?=?0;//?this.Top?+?grid1.Top;
????????????for?(int?i?=?0;?i?????????????{
????????????????tY1?=?tY;
????????????????tY?+=?grid1.Row(i).Height;
????????????????tX?=?0;//?this.Left?+?grid1.Left;
????????????????for?(int?j?=?0;?j?????????????????{
????????????????????tX1?=?tX;
????????????????????tX?+=?grid1.Column(j).Width;
????????????????????if?((e.X?>=?tX1?&&?e.X?<=?tX)?&&?(e.Y?>=?tY1?&&?e.Y?<=?tY))
????????????????????{
????????????????????????currRow?=?i;
????????????????????????currCol?=?j;
????????????????????????break;
????????????????????}
????????????????}
????????????}
????????}
????????private?void?grid1_MouseUp(object?Sender?MouseEventArgs?e)
????????{
????????????//
????????????GetCurrRowCol(e);
????????????//
????????????grid1.Cursor?=?Cursors.Default;
????????????this.Text?=?string.Format(“begRow:{0}begCol:{1}currRow:{2}currCol:{3}“?begRow?begCol?currRow?currCol);
????????????if?(isBegDrag)
????????????{
????????????????if?(currRow?!=?begRow?||?currCol?!=?begCol)
????????????????{
????????????????????//交換數據
????????????????????string?tmpStr?=?grid1.Cell(begRow?begCol).Text;
????????????????????grid1.Cell(begRow?begCol).Text?=?grid1.Cell(currRow?currCol).Text;
????????????????????grid1.Cell(currRow?currCol).Tex
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????15872??2016-06-25?10:33??flexcellDrag\bin\Debug\flexcellDrag.exe
?????文件??????36352??2016-06-25?10:33??flexcellDrag\bin\Debug\flexcellDrag.pdb
?????文件??????22656??2016-06-25?10:33??flexcellDrag\bin\Debug\flexcellDrag.vshost.exe
?????文件????????490??2015-10-30?13:45??flexcellDrag\bin\Debug\flexcellDrag.vshost.exe.manifest
?????文件???????4226??2016-06-25?09:47??flexcellDrag\flexcellDrag.csproj
?????文件???????5809??2016-06-25?10:33??flexcellDrag\Form2.cs
?????文件???????4115??2016-06-25?10:14??flexcellDrag\Form2.Designer.cs
?????文件???????5817??2016-06-25?10:14??flexcellDrag\Form2.resx
?????文件???????8460??2016-06-23?17:20??flexcellDrag\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????6896??2016-06-25?10:33??flexcellDrag\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????677??2016-06-25?10:33??flexcellDrag\obj\Debug\flexcellDrag.csproj.FileListAbsolute.txt
?????文件???????1035??2016-06-25?10:14??flexcellDrag\obj\Debug\flexcellDrag.csproj.GenerateResource.Cache
?????文件???????9049??2016-06-23?17:21??flexcellDrag\obj\Debug\flexcellDrag.csprojResolveAssemblyReference.cache
?????文件??????15872??2016-06-25?10:33??flexcellDrag\obj\Debug\flexcellDrag.exe
?????文件????????180??2016-06-25?09:47??flexcellDrag\obj\Debug\flexcellDrag.Form1.resources
?????文件????????180??2016-06-25?10:14??flexcellDrag\obj\Debug\flexcellDrag.Form2.resources
?????文件??????36352??2016-06-25?10:33??flexcellDrag\obj\Debug\flexcellDrag.pdb
?????文件????????180??2016-06-25?09:47??flexcellDrag\obj\Debug\flexcellDrag.Properties.Resources.resources
?????文件????????493??2016-06-25?09:40??flexcellDrag\Program.cs
?????文件???????1348??2016-06-23?17:20??flexcellDrag\Properties\AssemblyInfo.cs
?????文件???????2876??2016-06-23?17:20??flexcellDrag\Properties\Resources.Designer.cs
?????文件???????5612??2016-06-23?17:20??flexcellDrag\Properties\Resources.resx
?????文件???????1099??2016-06-23?17:20??flexcellDrag\Properties\Settings.Designer.cs
?????文件????????249??2016-06-23?17:20??flexcellDrag\Properties\Settings.settings
?????文件???????1005??2016-06-23?17:20??flexcellDrag.sln
?????目錄??????????0??2016-06-23?17:20??flexcellDrag\obj\Debug\TempPE
?????目錄??????????0??2016-06-23?17:21??flexcellDrag\bin\Debug
?????目錄??????????0??2016-06-25?10:33??flexcellDrag\bin\Release
?????目錄??????????0??2016-06-25?10:33??flexcellDrag\obj\Debug
?????目錄??????????0??2016-06-25?10:33??flexcellDrag\bin
............此處省略6個文件信息
評論
共有 條評論