2013-03-01 40 views
5

Trước đây tôi đã hỏi một câu hỏi tương tự, nhưng mã này phức tạp hơn nhiều. Câu hỏi này liên quan đến một vấn đề tương tự, nhưng mã được đơn giản hóa đáng kể. Tuy nhiên, thậm chí đơn giản như ví dụ này là, tôi không thể có được trình đơn thả xuống để chọn trước giá trị chính xác.Làm cách nào tôi có thể đặt giá trị đã chọn trên DevExpress LookupEdit?

Tôi có danh sách thả xuống được điền chính xác với giá trị. Ngoài ra, khi tôi thay đổi thả xuống bất kỳ giá trị nào, và sau đó lưu biểu mẫu của tôi, bản ghi cơ sở dữ liệu được cập nhật w/giá trị chính xác. Điều đó có hiệu quả, nhưng việc chọn giá trị chính xác trên tải biểu mẫu sẽ không hoạt động.

Tôi đặt những dòng này vào phương pháp lưu của mình, chỉ để xem những gì tôi đang làm việc.

var test1 = _myLookupEdit.EditValue; //evaluates to 2 
var test2 = _myLookupEdit.Properties.KeyValue; //evaluates to 2 

Tuy nhiên, khi tôi đặt một trong các biểu mẫu này khi tải biểu mẫu, không có gì xảy ra; menu thả xuống có một mục nhập trống được chọn (và phần còn lại của các giá trị được nhìn thấy khi bạn mở rộng trình đơn thả xuống). Tôi đã thử từng phương pháp sau:

_myLookupEdit.EditValue = 2; 
_myLookupEdit.Properties.KeyValue = 2; 

Chỉnh sửa - Tôi đã đăng bình luận bên dưới dưới câu trả lời của platon, nhưng tôi cũng sẽ đăng nó ở đây. Cuối cùng tôi đã sử dụng một thủ tục được lưu trữ để thay thế cho trình đơn thả xuống này, thay vì một Enum. Từ thời điểm đó, tải xuống được tải xuống với giá trị được chọn chính xác.

Trả lời

10

Bạn cần đặt thuộc tính EditValue của trình chỉnh sửa thành giá trị theo loại loại thuộc tính Properties.ValueMember của trình chỉnh sửa. Ý tôi là, nếu đây là trường chuỗi, thì EditValue sẽ được đặt thành "2", không phải 2 và cứ tiếp tục như vậy. Điều này sẽ giúp. Nếu không, hãy thử gọi phương thức Properties.ForceInitialize() của trình soạn thảo sau khi bạn đã thiết lập thuộc tính DataSource của trình soạn thảo.

+0

Tôi rất tiếc khi báo cáo rằng không có hiệu lực, nhưng tôi đánh giá cao sự trợ giúp. – WEFX

+0

đăng một dự án mẫu và tôi sẽ cập nhật nó cho bạn .... – platon

+0

Tôi đã thay đổi dự án của mình để cư trú với một proc được lưu trữ, thay vì một Enum. Bounty đi đến platon cho các nỗ lực. – WEFX

Các vấn đề liên quan