2008-09-24 29 views
1

當部件不處於編輯模式時,是否有任何方式將部件嵌入數據綁定的DataGridViewCell在DataGridView中嵌入非編輯部件

例如,我們想要在單元格中顯示現有日曆小部件。該單元格包含逗號分隔的日期列表。我們想顯示日曆而不是文字。

我們可以創建一個自定義單元格和覆蓋繪製方法,以便它繪製單元格中的日曆,但不會處理鼠標懸停工具提示,我們已經在現有的日曆組件。

[更新] 我試過TcKs的建議,但無法創建工作解決方案。查看關於該答案的評論。

回答

1

你應該從DataGridViewColumn派生自己的類型(例如DataGridViewCalendarColumn),並返回一個DataGridViewCalendarCell(你必須自己創建的,太)爲CellTemplate。
詳細說明可以在MSDN文章中找到Build a Custom RadioButton Cell and Column for the DataGridView Control

+0

非常感謝您的回答。這並不完全是我以前的樣子(它仍然依賴覆蓋Paint方法而不是實際嵌入小部件),但它與我所能找到的一樣接近。 – 2009-01-29 21:40:49

0

您可以不使用繪圖日曆,而是使用日曆控件,將它們設置爲父級,並將它們設置爲與單元格具有相同的邊界(左側,頂部,寬度,高度)。

+0

感謝您的建議,但我無法使其工作。 爲了舉例,我創建了一個按鈕。我將父級設置爲網格視圖,我將邊界設置爲單元格的ContentBounds,我甚至在按鈕上調用了BringToFont。即使將頂部/左側設置爲0,0,它仍然不會顯示在網格上。 – 2008-09-25 15:00:39