2013-04-16 40 views
2

我正在嘗試在.NET Compact Framework中爲DataGrid查找解決方案,以進行單元格編輯。DataGrid內部單元格編輯的策略

它甚至可以在Windows Mobile中的.NET Compact Framework的默認DataGrid中編輯單元格,以及如何執行此操作?

如果這是不可能的,那麼另一種解決方案是什麼,如果有空閒的話可能是其他一些控制。

回答

1

不,你不能。從source

在.NET Compact Framework的,你不能直接編輯內容在運行時DataGrid的 。您必須將控件(如 TextBox)綁定到數據源,並使用DataGrid顯示和選擇記錄。

你沒有一個緊湊的設備上的大量屏幕空間,因此電池的編輯實際上是怪異。處理這個問題的一個好方法是有一個表示行中實體的編輯器表單。您選擇一行,然後使用按鈕或上下文菜單啓動編輯。您以這種形式打開選定的行/對象。完成編輯並單擊確定後,將更改後的值提交給該行所代表的對象...

Here is a good article詳述上述的編輯表單過程。從鏈接的文章:

此示例演示了使用DataGrid控件 具有用於查看和編輯是在 DataGrid控件選擇了記錄,並增加了新的記錄到數據庫表單技術。請注意,必須提供 用戶界面才能編輯DataGrid值,因爲編譯DataGrid單元的 在.NET Compact 框架中不受支持。本示例使用與Visual Studio一起安裝的Northwind數據庫,即 。

2

在著作「編程緊湊的框架3.5」由保羅·姚爲DataGrid在章4.4.9一個不錯的就地編輯解決方案及以下:

摘錄:

」。 .. 4.4.9提供就地編輯功能 .NET Compact Framework DataGrid控件僅用於顯示 與桌面應用程序不同的是,它不提供任何數據修改 功能爲了克服顯示 - 僅限於 DataGrid控件,您必須自己提供數據修改功能 。 您的應用程序必須採取兩個步驟來爲 DataGrid控件提供就地編輯。 1.呈現能夠接受輸入的控件,例如文本框,最好是 ,文本已經高亮顯示,當用戶指示 他希望修改CurrentCell的內容時。 2.爲用戶提供一個機制,表明他已完成, 或取消更新。如果請求更新,請將輸入控件的內容 移動到CurrentCell中。如果合適的話,隱藏 的輸入控制.....「

的代碼可在http://www.paulyao.com/res/code/login.aspx?ReturnUrl=%2fres%2fcode%2fdefault.aspx註冊之後。姚建雄提供具有手動和自動就地編輯用於使用所述數據網格上面顯示一個文本框數據網格的例子。

+0

是的,它確實編輯的單元格的工作在datagrid中,但是如果你使用數據網格的滾動,TextBox也隨之移動,除此之外它還是很好的 –

+0

如何處理滾動問題,它在這裏:http://www.nullskull.com/q/41296/scroll -event換數據網格,在最緊湊framewor.aspx –