DataGridView拖動的前提:
創(chuàng)新互聯(lián)服務(wù)項目包括成縣網(wǎng)站建設(shè)、成縣網(wǎng)站制作、成縣網(wǎng)頁制作以及成縣網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,成縣網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到成縣省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
this.dgv.AllowDrop = true; this.dgv.MultiSelect = false; this.dgv.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
拖動需要幾個事件支持:
DragDrop:拖動事件
DragEnter:控制拖動范圍,影響鼠標(biāo)狀態(tài)
CellMouseMove:鼠標(biāo)移動觸發(fā)拖動事件,個人覺著可以用其他事件替
private void dgv_CellMouseMove(object sender, DataGridViewCellMouseEventArgs e) { if ((e.Clicks < 2) && (e.Button == MouseButtons.Left)) { if (e.RowIndex > -1) //此處可以添加其他限制條件,例如只有在那一列時才允許拖動等 dgv.DoDragDrop(dgv.Rows[e.RowIndex], DragDropEffects.Move); } } private void dgv_DragDrop(object sender, DragEventArgs e) { int idx = GetRowFromPoint(e.X, e.Y); if (idx < 0 || idx == dgv.Rows.Count-1/*這個判斷是在允許用戶添加行時,排除拖動到最后的空白行處的*/) return; if (e.Data.GetDataPresent(typeof(DataGridViewRow))) { DataGridViewRow row = (DataGridViewRow)e.Data.GetData(typeof(DataGridViewRow)); dgv.Rows.Remove(row); dgvr.Rows.Insert(idx, row); dgv.CurrentCell = dgvBreakLayer[0, idx]; } } private int GetRowFromPoint(int x, int y) { for (int i = 0; i < dgv.RowCount; i++) { Rectangle rec = dgv.GetRowDisplayRectangle(i, false); if (dgv.RectangleToScreen(rec).Contains(x, y)) { return i; } } return -1; } private void dgv_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; }
后期要是發(fā)現(xiàn)更好的方法會持續(xù)改進,歡迎大家提出寶貴意見!
網(wǎng)頁標(biāo)題:DataGridView行拖動
文章分享:http://jinyejixie.com/article14/ipepge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站改版、App設(shè)計、微信公眾號、網(wǎng)站排名、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)