Tôi đang cố gắng lấy DataGridView để hiển thị hàng "chèn hàng mới" làm hàng đầu tiên trong lưới thay vì hàng cuối cùng. Làm thế nào để tôi làm được điều đó, liệu nó có khả thi trong tầm kiểm soát không?Cách đặt hàng "chèn hàng mới" làm hàng đầu tiên trong DataGridView
Trả lời
Tôi không nghĩ có cách nào để di chuyển hàng "hàng mới" lên đầu lưới dữ liệu.
Nhưng, điều gì xảy ra nếu bạn để trống hàng trên cùng và khi dữ liệu được điền vào sẽ di chuyển hàng xuống thích hợp? Nói cách khác, tạo hàng "hàng mới" của riêng bạn, chỉ là hàng đầu tiên trong lưới và thêm hàng trống mới ở trên khi chỉnh sửa kết thúc.
Dim myrow = existingDataTable.NewRow
existingDataTable.Rows.Add(myrow)
adp.Fill(existingDataTable)
With DataGridView1
.DataSource =existingDataTable
End With
Bạn có thể gán giá trị tạm thời cho khóa của hàng mới ít hơn tất cả các hàng hiện có không? Sau đó, sắp xếp một DataView bằng khóa đó và ràng buộc khung nhìn vào lưới của bạn.
Nhóm của tôi sử dụng số âm làm id hàng cho đến khi hàng đó được chèn vào cơ sở dữ liệu. Tôi không nhớ các hàng mới của chúng tôi hiển thị ở đầu nhưng chúng tôi cũng không có điều đó như một yêu cầu.
Và nếu vẫn thất bại cách hacky sẽ được đặt một DataGridView một dòng riêng biệt so với một hiện có, sao chép cột của nó, và dây lên các sự kiện nộp hàng để thêm dữ liệu vào thấp hơn một :)
Nếu bạn không sử dụng các điều khiển bị ràng buộc, dgvItems.Rows.Insert() sẽ cho phép bạn chỉ định vị trí hàng được chèn vào.
Nếu bạn đang sử dụng một DataGridView ràng buộc, mà không có một loại hoạt động, thêm hàng mới cho nguồn dữ liệu trong vị trí mong muốn:
BoundTable.Rows.InsertAt (BoundTable.Rows.NewRow(), RowLocation) ;
Tôi đã tìm thấy một mối quan hệ thú vị, nếu có chỉnh sửa trên hàng hiện tại và hàng không được cam kết với nguồn dữ liệu (tức là bạn mới bắt đầu nhập dữ liệu), có vẻ như cần thiết để di chuyển ô hiện hoạt đến một hàng khác để thực hiện các thay đổi trước khi chèn các hàng.
@Jeff Corder vô tình được đăng trước khi tôi đọc đầy đủ nhận xét của bạn, nhưng sẽ cập nhật cho bất kỳ ai mờ về mô tả của bạn. Tuy nhiên đây là ý kiến của tôi theo cách hiệu quả nhất để làm điều này nếu bạn không muốn làm việc với các mã định danh khóa duy nhất. –
Bạn có đang sử dụng sự kiện RowDataBound không? Nếu vậy, bạn có thể kiểm tra xem bạn có đang ràng buộc hàng tiêu đề cột hay không và sau đó thêm mã thích hợp để chèn một hàng ngay bên dưới.
Bằng cách đó, khi hàng nội dung của bạn bị ràng buộc, không có bất kỳ sự nhầm lẫn nào với các chỉ mục mục đang được tham gia, mặc dù tôi khuyên bạn nên sử dụng một số DataKey hoặc một vài thứ trong trường hợp. Ngoài ra, bằng cách sử dụng sự kiện RowDatabound sẽ cho phép bạn có một "chèn hàng" có sẵn khi các trang người dùng đến một khối khác nhau của các hàng trong GridView.
Tôi giả sử bạn có nghĩa là khi bạn muốn thêm hàng mới, bạn muốn hàng thực sự được chèn ở đầu bảng thay vì dưới cùng của bảng như mặc định? Vâng, nếu điều này là như vậy, bạn không phải đối phó với phân loại hoặc giá trị quan trọng; chỉ cần làm như vậy với phương pháp Insert:
'Tạo một hàng mới
Dim tmpRow = New DataGridViewRow
' Điều chỉnh hàng trong một số cách
tmpRow.Height = _cellRectSize
'Thêm hàng để DataGridView (tức dgvEditor) ở phía trên (index = 0)
Me.dgvEditor.Rows.Insert (0, tmpRow)
trình giống như một sự quyến rũ đối với tôi, hy vọng nó sẽ giúp người khác!
Như Trong khi-E cho biết, hãy sử dụng Insert
thay vì Add
. Bằng cách này bạn có thể chỉ định nơi bạn muốn thêm bản ghi mới. Để thêm bản ghi mới trên đầu lưới, chỉ cần sử dụng Insert(0)
.
DataGridView1.Rows.Insert(0)
này sẽ bổ sung thêm một kỷ lục mới trên đầu trang, luôn luôn
DataGridView1.Rows(0).Cells(n).Value = "abc"
này sẽ thiết lập giá trị tại cột n
- 1. DataGridView - cách ẩn hàng "mới"?
- 2. cách đặt trọng tâm cho hàng mới trong datagridview - vb.net
- 3. C# datagridview hàng đơn hàng?
- 4. Công cụ Logic đặt hàng đầu tiên
- 5. Làm cách nào để thêm hàng mới vào datagridview?
- 6. Xóa nhiều hàng trong datagridview
- 7. Bắt số hàng trong DataGridView
- 8. hàng datagridview nhấp
- 9. hàng trống đầu tiên trong excel
- 10. C# DataGridView Thêm hàng - Khi xác thực, làm cách nào để biết hàng mới và chưa cam kết?
- 11. Cách nhanh nhất để chèn hàng triệu hàng trong Oracle
- 12. ĐẶT HÀNG ĐẦU TIÊN THEO ... THEN GROUP BY
- 13. jQuery DataTables hai hàng trong đầu: tên cột hàng đầu tiên và sắp xếp, lọc hàng thứ hai
- 14. Thêm hàng mới vào hàng đầu của dữ liệu
- 15. Chèn một hàng mới vào DataTable
- 16. C# Datagridview Tính toán hàng
- 17. Chọn Hàng đầu tiên làm mặc định trong UITableView
- 18. Nhấp đúp vào hàng DataGridView?
- 19. Chọn hàng đầu tiên cho mỗi nhóm
- 20. Cách ẩn hàng mặc định C# DataGridView *?
- 21. numpy loadtxt bỏ qua hàng đầu tiên
- 22. SSRS chỉ hiển thị hàng đầu tiên
- 23. DataGridView hiển thị ô tiêu đề hàng
- 24. PhpExcel - Cách chèn hàng tương tự sau hàng N?
- 25. SQL Chèn nhiều hàng
- 26. Chèn nhiều hàng trong SQLite
- 27. Giao hàng đặt hàng với netMSMQbinding
- 28. Cách chọn N hàng đầu tiên của mỗi nhóm?
- 29. PostgreSQL - làm cho hàng đầu tiên hiển thị như tổng số hàng khác
- 30. Hàng của Datagridview tự động hóa
hmm mà có thể làm việc. Tôi không chắc làm thế nào nó sẽ làm việc với với databinding vv, nhưng tôi sẽ phải thử nghiệm một chút với nó. –