Drag-and-drop in DevExpress grid
Ich versuche, die Implementierung einer drag-and-drop-Funktion in einem DevExpress-Grid. Die erste Möglichkeit, die ich habe versucht, es hat nicht funktioniert, da die dragdrop
Methode ist nicht immer Treffer. Muss ich haben, es ausgelöst durch die mouseDown
event, oder wie gehe ich über das tun dies. Beispiele wären sehr willkommen. Was ich versucht habe, so weit ist diese:
private void gridFields_DragDrop(object sender, DragEventArgs e)
{
GridControl grid = sender as GridControl;
GridView view = grid.MainView as GridView;
GridHitInfo srcHitInfo = e.Data.GetData(typeof(GridHitInfo)) as GridHitInfo;
GridHitInfo hitInfo = view.CalcHitInfo(grid.PointToClient(new Point(e.X, e.Y)));
int sourceRow = srcHitInfo.RowHandle;
int targetRow = hitInfo.RowHandle;
MoveRow(sourceRow, targetRow);
}
private void MoveRow(int sourceRow, int targetRow)
{
if (sourceRow == targetRow || sourceRow == targetRow + 1)
return;
GridView view = gridFieldView;
DataRow row1 = view.GetDataRow(targetRow);
DataRow row2 = view.GetDataRow(targetRow + 1);
DataRow dragRow = view.GetDataRow(sourceRow);
decimal val1 = (decimal)row1[OrderFieldName];
if (row2 == null)
dragRow[OrderFieldName] = val1 + 1;
else
{
decimal val2 = (decimal)row2[OrderFieldName];
dragRow[OrderFieldName] = (val1 + val2) / 2;
}
}
- Haben Sie schaute auf die DevExpress-support-Website? Wenn Sie Fragen würde, die DevExpress support, werden Sie schnell sagen.
- Traurige Teil von Devexpress support, Sie helfen Ihnen nur, wenn Sie die devexpress-Lizenz.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sorry, wollte ich hinzufügen, dass dies nur als Kommentar, aber SO wird nicht lassen Sie mich.
Ich gehe davon aus, dass Sie zulassen möchten, dass der Benutzer, um Zeilen nach oben und unten die [WinForms] raster durch ziehen. Sie sind eigentlich Recht in der Annahme, Sie müssen das MouseDown-Ereignis. Darüber hinaus müssen Sie das MouseMove-Ereignis.
Versuchen, diese Anleitung! http://tv.devexpress.com/Content/XtraGrid/XtraGridDragRowsBetweenGrids/XtraGridDragRowsBetweenGrids.pdf
Wenn Sie nicht zugreifen können, lassen Sie es mich wissen.
Update
Versuchen Sie diese. Sie wurden speziell für meine Bedürfnisse, aber ich denke, Sie sollten in der Lage sein zu re-Zweck Ihnen.
Hoffe, das hilft.
Objektverweis nicht auf eine Instanz eines Objekts.