データテーブルからデータソースを持つデータを表示するには、msflexgridを使用する2つのフォームがあります。msflexgridを使用して2つのデータテーブル間に行をドラッグアンドドロップする
私は2つのフォームの間に行をドラッグアンドドロップしたいと思います。私はこのトピックを見て編集しましたが、うまくいきません。
Drag data from DG and other controls to another DG in vb.net
このエラー:
私を助けてください!
データテーブルからデータソースを持つデータを表示するには、msflexgridを使用する2つのフォームがあります。msflexgridを使用して2つのデータテーブル間に行をドラッグアンドドロップする
私は2つのフォームの間に行をドラッグアンドドロップしたいと思います。私はこのトピックを見て編集しましたが、うまくいきません。
Drag data from DG and other controls to another DG in vb.net
このエラー:
私を助けてください!
これは form1 コード形式1私のForm1のです:
Imports C1.Win.C1FlexGrid
パブリック・クラスは、新しいデータテーブル( "テスト")C1.Win.C1FlexGrid.HitTestInfo =何も
として プライベートdownHitInfoとして プライベートMDTをFRM1Private Sub frm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
mdt.Columns.Add("EmplCode")
mdt.Columns.Add("EmplName")
mdt.Rows.Add("", "A")
mdt.Rows.Add("", "B")
mdt.Rows.Add("", "C")
flg1.DataSource = mdt
With flg1
.DragMode = DragModeEnum.Manual
.DropMode = DropModeEnum.Manual
End With
End Sub
Private Sub flg1_MouseDown(sender As Object, e As MouseEventArgs) Handles flg1.MouseDown
Dim view As C1FlexGrid = CType(sender, C1FlexGrid)
Dim hitInfo As C1.Win.C1FlexGrid.HitTestInfo = view.HitTest(e.X, e.Y)
If Not Control.ModifierKeys = Keys.None Then
Exit Sub
End If
If e.Button = MouseButtons.Left Then
downHitInfo = hitInfo
End If
End Sub
Private Sub flg1_MouseMove(sender As Object, e As MouseEventArgs) Handles flg1.MouseMove
Dim view As C1FlexGrid = CType(sender, C1FlexGrid)
If e.Button = MouseButtons.Left And Not downHitInfo Is Nothing Then
Dim dragSize As Size = SystemInformation.DragSize
Dim DragRect As Rectangle = New Rectangle(New Point(Convert.ToInt32(downHitInfo.X - dragSize.Width/2), _
Convert.ToInt32(downHitInfo.Y - dragSize.Height/2)), dragSize)
If Not DragRect.Contains(New Point(e.X, e.Y)) Then
'Extract the DataRow
Dim gridRowView As C1.Win.C1FlexGrid.Row = DirectCast(view.Rows(downHitInfo.Row), C1.Win.C1FlexGrid.Row)
'Dim rowView As DataRowView = DirectCast(gridRowView.DataBoundItem, DataRowView)
Dim rowView As DataRowView = DirectCast(gridRowView.DataMap, DataRowView)
'Raise the DragDrop with the extracted DataRow
view.DoDragDrop(rowView.Row, DragDropEffects.Move)
downHitInfo = Nothing
End If
End If
End Sub
Private Sub btn1_Click(sender As Object, e As EventArgs) Handles btn1.Click
Dim lfrm As New frm2()
lfrm.Show()
End Sub
エンドクラス
このI S形2:フォーム2の Form 2 コード:
Imports C1.Win.C1FlexGrid
パブリック・クラスがFRM2 プライベートサブfrm2_Load(オブジェクトとして送信者、EventArgsのようe)のFLG2でMyBase.Load ハンドル .DragMode = DragModeEnum.Manual End Subの
Private Sub flg2_DragOver(sender As Object, e As DragEventArgs) Handles flg2.DragOver
e.Effect = DragDropEffects.Move
End Sub
Private Sub flg2_DragDrop(sender As Object, e As DragEventArgs) Handles flg2.DragDrop
Dim draggedRow As DataRow = CType(e.Data.GetData(GetType(DataRow)), DataRow)
End Sub
エンドクラス
で.DropMode = DropModeEnum.Manual 終了
こんにちは、スタックオーバーフローへようこそ!あなたが試したことを示すためにいくつかのコードを投稿してください。 –