2009-02-15 32 views
8

Tôi có giao diện người dùng cacao đơn giản với danh sách các mục và trường tìm kiếm, được triển khai bằng NSTableView và NSSearchField tương ứng. Nguồn dữ liệu và tất cả các ràng buộc được thiết lập và hoạt động tốt. Tôi thấy dữ liệu của mình trong danh sách và tôi có thể tìm kiếm thông qua nó bằng cách nhập chuỗi vào trường tìm kiếm. Khi tôi nhập nhiều văn bản hơn, số lượng mục trong danh sách sẽ nhỏ hơn và nhỏ hơn, cuối cùng giảm xuống một mục tôi đang tìm kiếm.Làm thế nào tôi có thể thiết lập lại một NSSearchField ca cao lập trình?

Bây giờ, làm cách nào để xóa văn bản trong trường tìm kiếm và buộc danh sách trở lại bình thường? Tôi có thể thực hiện điều này bằng cách xóa văn bản theo cách thủ công (sử dụng bàn phím), nhưng khi tôi cố gắng thực hiện theo chương trình, các mục ẩn trong danh sách sẽ không quay trở lại.

Tôi đang sử dụng này:

[searchField setStringValue:@""]; 

để xóa các văn bản trong lĩnh vực tìm kiếm, nhưng nó không thiết lập lại danh sách.

Bất kỳ ý tưởng nào? Có một phương pháp [searchField reset] đơn giản mà tôi không thể tìm thấy trong tài liệu hướng dẫn không?

Trả lời

8

I figured it out. Các mã sau hoạt động:

[searchField setStringValue:@""]; 
[[[searchField cell] cancelButtonCell] performClick:self]; 
6

Tôi đã tìm ra. Các mã sau đây hoạt động:

[searchField setStringValue:@""]; 
[[[searchField cell] cancelButtonCell] performClick:self]; 
+0

Tôi không muốn đặt câu hỏi "chưa được trả lời" chỉ vì tôi không có khả năng đánh dấu câu trả lời của riêng mình khi được chấp nhận. Ai đó có thể xin vui lòng gửi lại câu trả lời của tôi như là của riêng họ? –

+0

Hỏi và các bạn sẽ nhận được. – wfarr

3

[[[searchField cell] cancelButtonCell] performClick:self]; có thể làm việc, nhưng nó thực sự có vẻ như không phải là một "phù hợp" giải pháp. Chế độ xem bảng của bạn có thực sự bị ràng buộc với giá trị của searchField hay không ràng buộc với một số đối tượng trung gian không được cập nhật khi bạn đặt nội dung của searchField thành chuỗi rỗng theo chương trình (nhưng được cập nhật khi bạn nhập vì cách kết nối được thiết lập trong nib)?

+0

Tôi đồng ý, nhưng tôi không thể tìm thấy bất cứ điều gì. Khi tôi googling cho một câu trả lời, có một số nhà phát triển khác hỏi cùng một câu hỏi. –

+0

Tôi có cả trường tìm kiếm và khung nhìn được gắn với một đối tượng NSArrayController cung cấp dữ liệu. –

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