Tôi đang cố gắng để có được các hàng lưới được chọn Giá trị KeyField ở phía máy khách;ASPXGridView ClientSideEvents Cách lấy Giá trị KeyField của hàng đã chọn
tôi sử dụng để thử sau và có được kết quả khác nhau:
Phương pháp # 1
<ClientSideEvents RowClick="function(s, e) {var key= grid.GetSelectedKeysOnPage()[0];}" />
//This gives previous selected rows value everytime
Phương pháp # 2
<ClientSideEvents RowClick="function(s, e) { grid.GetRowValues(grid.GetFocusedRowIndex(), 'MyKeyFieldName', OnGetRowValues); }" />
//This gives previous selected row and also gives an error: "A primary key field specified via the KeyFieldName property is not found in the underlying data source. Make sure.. blabla" But the MyKeyFieldName is true and i dont want to make a callback, i dont want to use this method!
Phương pháp # 3
<ClientSideEvents RowClick="function(s, e) { grid.GetRowValues(e.visibleIndex, 'MyKeyFieldName', OnGetRowValues); }">
//This gives the same result with Method #2
Câu hỏi đặt ra là: Làm thế nào tôi có thể gath er KeyField Giá trị của (không phải trước đó nhưng) dòng được chọn hiện tại tại sự kiện RowClick của khách hàng mà không cần gọi lại hoặc đăng lại?
Cảm ơn bạn, nhưng đây không phải là câu trả lời mà tôi đang mong đợi. Tôi hỏi làm thế nào tôi có thể thu thập giá trị Keyfield của hàng mới được lựa chọn tại sự kiện Clientside RowClick? Và ASPxClientGridView.GetSelectedKeysOnPage [0] đang thay đổi khi lựa chọn thay đổi, nó không giống nhau. – DortGen
Bạn đã thử giải pháp của tôi chưa? Nó tạo ra kết quả gì? – Mikhail
FYI nếu bạn muốn sử dụng giải pháp của Mikhail; vấn đề với việc sử dụng sự kiện SelectionChanged: khi người dùng sắp xếp hoặc lọc; khóa được lưu trữ không được cập nhật (sự kiện SelectionChanged không được kích hoạt) – kite