Tôi có biểu mẫu chụp cho Đơn đặt hàng hoạt động và có CustomerBindingSource
và điều khiển WorksOrderBindingSource
. Hầu hết các trường chỉnh sửa được liên kết với WorksOrderBindingSource
, với ComboBox có danh sách được liên kết với CustomerBindingSource
và SelectedValue
của nó được gắn với trường CustomerId
trong WorksOrderBindingSource
. Đây là tất cả rất thường xuyên và tiêu chuẩn, không có funnies ở đây.Làm cách nào để đặt bản ghi hiện tại BindingSource thành null?
Sau đó, tôi cũng có một số trường hộp văn bản mà tôi sử dụng để hiển thị các thuộc tính của khách hàng hiện được chọn, cho thứ tự công việc hiện đang được chỉnh sửa. Tôi đã ràng buộc các trường này với số CustomerBindingSource
. Khi khách hàng được chọn, các trường này sẽ hiển thị các thuộc tính của khách hàng đó như mong đợi.
Vấn đề của tôi là khi tôi muốn sử dụng biểu mẫu để chụp một đơn đặt hàng mới. Tôi tạo đối tượng WorksOrder
mới, với CustomerId == null
và gắn nó với WorksOrderBindingSource
. Tôi không có đối tượng trong số CustomerBindingSource
với số Id == null
, vì vậy, như dự kiến, hộp tổ hợp thả xuống trống, nhưng, các thuộc tính CustomerBindingSource.Current
trỏ đến đối tượng Khách hàng đầu tiên trong nguồn dữ liệu đó. Các trường hiển thị được liên kết với khách hàng hiển thị các giá trị cho khách hàng đó, trong khi chưa có khách hàng nào được chọn.
Cách giải quyết duy nhất cho điều này rõ ràng đối với tôi có vẻ vụng về. Trong đó, tôi có hai Khách hàng đã nhập các nguồn ràng buộc, một cho một khách hàng đã chọn và để điền vào các trường hiển thị của khách hàng, và một trường khác chỉ đơn thuần là điền vào danh sách thả xuống của khách hàng. Sau đó, tôi phải xử lý một sự kiện lựa chọn và chỉ khi một khách hàng được chọn, sau đó tìm thấy khách hàng đó trong nguồn ràng buộc cho các trường hiển thị và nếu không có lựa chọn nào, hãy đặt nguồn dữ liệu cho các trường hiển thị thành rỗng. Điều này cảm thấy khủng khiếp vụng về. Có cách nào khác để đạt được những gì tôi muốn không?
Tại sao không thêm mục "vui lòng chọn khách hàng" vào nguồn ràng buộc? – Bijan
Điều gì về để buộc người dùng lưu các chỉnh sửa hiện tại để một CustomerID hợp lệ được gán cho NewRow –