14-如何在 GridControl 控件中使用 SearchLookUpEdit 快速輸入


14-如何在 GridControl 控件中使用 SearchLookUpEdit 快速輸入


一個實際的案例就是門診的時候,醫生用藥的情況,除了選擇其他內容外,主要的就是快速錄入藥品信息。我們平常去大一點 的醫院看病,好像看到的多數操作都是這樣。還有一種方式就是銷售人員提供的報價單,從產品裡面選擇信息,然後修改下價格,這些場景都是很適合這樣的操作的。下面是一個門診的例子。

首先要為 GridControl 添加兩個字段,設置好他們的顯示 Caption 和 FieldName 即可,然後在我們需要彈出窗口的單元格對象中,選擇它的 ColumnEdit 控件為 SearchLookup 控件即可,如下所示。


14-如何在 GridControl 控件中使用 SearchLookUpEdit 快速輸入


這個時候,它會生成一個 repositoryItemSearchLookUpEdit1 的控件,這個控件就是該單元格的內嵌編輯控件了,可以從中選擇列表的值,我們設置這個列表的 DisplayMember 為Name(顯示的字段內容), ValueMember 為 ID(保存的值字段),如下所示。


14-如何在 GridControl 控件中使用 SearchLookUpEdit 快速輸入


除了你要設置主窗體裡面的 GridControl 運行添加列外,你還需要設置編輯控件裡面的View 中 OpitonsView 裡面的 NewItemRowPosition 為 Botton(默認為 None),這一步很重要,否則無法出現一個新建的行給你錄入數據的。

下面的代碼就是響應數據變化的時候,設置相應單元格的值的例子。


14-如何在 GridControl 控件中使用 SearchLookUpEdit 快速輸入


在實際應用中,我們在編輯一些歷史數據的時候,不希望原來的記錄被修改,但是可以增加新的記錄,但是前面所有介紹的內容,沒有能夠解決這個問題,那麼我們應該如何操作才能實現這個效果呢?

其實 GridView 對象裡面有一個 ShowingEditor 的事件,用來判斷是否顯示單元格的編輯器的,這樣我們對數據庫已有記錄進行控制,不讓它在列表中顯示編輯控件出來即可,具體代碼如下所示。


14-如何在 GridControl 控件中使用 SearchLookUpEdit 快速輸入


在保持數據的時候,我們對歷史數據就不用修改保持,只需要針對新增的內容即可,如何做到的呢?其實就是判定他的綁定值是否存在即可,如果有綁定值,那麼就是歷史的數據,沒有就是新的,進行特殊操作即可,如下代碼所示。


14-如何在 GridControl 控件中使用 SearchLookUpEdit 快速輸入


歡迎大家轉發留言,大家有什麼想學的也可以私信我!

我每天都會跟大家分享一下我在使用過程中有哪些小技巧。

如需DevExpress的安裝包和激活包,關注轉發後私信我。



分享到:


相關文章: