我已經將DataTable
與DataGridView
綁定,如下圖所示。Ctrl + x剪切操作不適用於DataGridView
,我需要選擇多個單元格,按CTRL +X在鍵盤上進行剪切操作,但我不能得到這個工作。
有誰知道如何做到這一點?
我已經將DataTable
與DataGridView
綁定,如下圖所示。Ctrl + x剪切操作不適用於DataGridView
,我需要選擇多個單元格,按CTRL +X在鍵盤上進行剪切操作,但我不能得到這個工作。
有誰知道如何做到這一點?
當您的應用程序收到「剪切」(cntrl-X)命令時,您需要執行的操作是將所選單元格複製到剪貼板。然後,您需要首先更新數據庫(刪除/刪除'cut'數據),然後刷新datagridview以反映更改,從數據網格中實際刪除這些單元格。
注意:如果您想等到實際提交數據更改,直到數據不再存在於剪貼板中,這取決於您的設計,因爲如果將所有更改永久化,則執行潛在的「撤消」。
要複製所選單元格你的代碼應該是這個樣子:
private void CopyPasteButton_Click(object sender, System.EventArgs e)
{
if (this.DataGridView1
.GetCellCount(DataGridViewElementStates.Selected) > 0)
{
try
{
// Add the selection to the clipboard.
Clipboard.SetDataObject(
this.DataGridView1.GetClipboardContent());
// Replace the text box contents with the clipboard text.
this.TextBox1.Text = Clipboard.GetText();
}
catch (System.Runtime.InteropServices.ExternalException)
{
this.TextBox1.Text =
"The Clipboard could not be accessed. Please try again.";
}
}
我看到,你可能需要解決潛在的問題。在你的圖片中,你只是選擇你的數據網格視圖的一些列。如果此視圖表示整個數據庫表,則可能希望用戶選擇整行而不是部分行。
但這段代碼如何從單元格中刪除值?來自DataGridViewElementStates.Selected的 –
,您知道應刪除哪些單元格。在提交對數據庫的更改之前,您可能只想從GridView中刪除這些行,您可以刷新視圖並阻止添加這些選定的行。注意我的評論,你應該只有用戶選擇一整行而不是部分。 –
您將需要編碼整個事情。請參閱[這裏的類似問題](http://stackoverflow.com/search?q=user%3A3152130+datagridview+clipboard) – TaW
[如何發送到剪貼板datagridview內容像CTRL-C](http:// stackoverflow.com/questions/24090196/how-to-send-to-clipboard-datagridview-content-like-ctrl-c) –