2011-12-25 31 views
5

Trong DataGridView tôi có sự kiện CellValueChanged, khi người dùng sửa đổi bất kỳ giá trị ô nào, sự kiện này được kích hoạt. Khi người dùng sửa đổi một ô, giá trị 1 được thay đổi thành 2, sau đó người dùng nhấp vào ô tiếp theo và nhấn Escape, giá trị trong ô đầu tiên được thay đổi từ 2 thành 1, sự kiện CellValueChanged không được kích hoạt. Tôi giữ các giá trị trong danh sách tạm thời của đối tượng và tôi cũng có các giá trị cập nhật trong các danh sách này. Sự kiện nào được kích hoạt khi người dùng nhấn thoát và thoát ra khỏi chế độ điều khiển chỉnh sửa?DataGridXem cách phát hiện khi người dùng xuất phát từ điều khiển chỉnh sửa bằng cách nhấn thoát?

Cảm ơn

Trả lời

3

Phản hồi sự kiện CellEndEdit.

+0

Làm thế nào để bạn biết thoát được nhấn? – Peter

+0

Làm thế nào nếu người dùng nhấp vào Ô 2, hãy thay đổi điều gì đó. sau đó quyết định, tôi không nên làm điều đó. để họ trốn thoát? kích hoạt sự kiện xác thực trước. –

+0

Đây rõ ràng là câu trả lời sai! Sự kiện 'CellEndEdit' xảy ra trong cả hai trường hợp: khi thao tác chỉnh sửa bị hủy và hoàn thành. Nó không có nghĩa là một cách để phát hiện ESC thoát khỏi chỉnh sửa điều khiển. Đó là sai nó được chấp nhận như là một câu trả lời kể từ khi là gây hiểu lầm. Nó có thể là một câu trả lời một phần vì chúng ta có thể kiểm tra (với sự trợ giúp của sự kiện 'CellBeginEdit') nếu giá trị ô thay đổi. Nếu không, thì ... nó có thể là hành động ESC, hoặc người dùng đã không thay đổi bất cứ điều gì, nhưng nhấn Enter thay vào đó. Nếu bạn không phải chỉ định hành động riêng biệt để Enter mà không có thay đổi, điều đó là đủ. Nếu bạn cần phân biệt nghiêm ngặt - nó không phải. – Harry

0

Ngoài ra còn có nơi này:

// Implements the IDataGridViewEditingControl.GetEditingControlFormattedValue method. 
    public object GetEditingControlFormattedValue(DataGridViewDataErrorContexts context) 
    {    
     if (context.ToString() == "Parsing, Commit") 
     { 
      // Do something here 
     } 

     return EditingControlFormattedValue; 
    } 
Các vấn đề liên quan