Tôi đang ràng buộc kiểm soát ListView vào DataTable. DataTable có một cột có tên ProductID. Có cách nào để ẩn cột này, bởi vì tôi sẽ cần giá trị của nó sau này?Ẩn cột ID trong điều khiển ListView
Trả lời
Tôi sẽ chỉ xử lý góc giao diện người dùng. Bạn có thể ẩn nó bằng cách thiết lập độ rộng cột để 0. Ví dụ, nếu ID được ràng buộc với cột thứ 2:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
listView1.Columns[1].Width = 0;
listView1.ColumnWidthChanging += listView1_ColumnWidthChanging;
}
private void listView1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e) {
if (e.ColumnIndex == 1) {
e.NewWidth = 0;
e.Cancel = true;
}
}
}
Đó không phải là khá lý tưởng, người dùng có thể nhận được confuzzled bởi con trỏ 'splitter' rằng chương trình khi cô ấy hơi xa về phía bên phải của bộ chia cột. Điều đó rất khó sửa.
Làm thế nào để ẩn/hiển thị các cột listview
C#, .NET framework 3.5.
Thật dễ dàng để ẩn và hiển thị cột danh sách xem, nếu bạn sử dụng chế độ xem danh sách trong "chế độ ảo". Trong "chế độ ảo", bạn có trách nhiệm điền vào listviewitems bằng dữ liệu. Điều này làm cho nó có thể đưa dữ liệu chính xác vào cột đúng.
Để tôi minh họa:
Tạo biểu mẫu và thêm điều khiển danh sách và điều khiển nút. Thêm 3 cột vào điều khiển listview. Đặt thuộc tính "xem" của kiểm soát chế độ xem danh sách thành "Chi tiết". Đặt thuộc tính “VirtualMode” của điều khiển listview thành “True”. Đặt thuộc tính “VirtualListSize” của điều khiển danh sách xem thành “100”.
Thêm một bool mẫu:
private bool mblnShow = true;
Thêm sự kiện “RetrieveVirtualItem” cho sự kiểm soát listview, và thêm đoạn mã sau:
ListViewItem objListViewItem = new ListViewItem();
objListViewItem.Text = "Item index: " + e.ItemIndex.ToString();
if (mblnShow) objListViewItem.SubItems.Add("second column: " + DateTime.Now.Millisecond.ToString());
objListViewItem.SubItems.Add("third column: " + DateTime.Now.Millisecond.ToString());
e.Item = objListViewItem;
Thêm “Nhấp vào” sự kiện cho kiểm soát nút và thêm mã sau:
mblnShow = !mblnShow;
if (mblnShow && !this.listView1.Columns.Contains(this.columnHeader2)) this.listView1.Columns.Insert(1, this.columnHeader2);
else if (!mblnShow && this.listView1.Columns.Contains(this.columnHeader2))
this.listView1.Columns.Remove(this.columnHeader2);
Chạy ứng dụng và nhấn thứ nút e để hiển thị và ẩn cột thứ hai.
Xin lưu ý rằng việc chạy chế độ xem danh sách ở chế độ ảo sẽ gây ra lỗi nếu bạn đặt dữ liệu trong bộ sưu tập các mục. Có nhiều thông tin về chế độ ảo hơn, vì vậy tôi khuyên bạn nên đọc nó trước khi sử dụng nó.
- 1. Làm thế nào để ẩn một cột trong một điều khiển ListView?
- 2. Cách ẩn thanh cuộn dọc trong Điều khiển .NET ListView trong Chế độ chi tiết
- 3. C# listview - nhúng điều khiển
- 4. Truy cập điều khiển bên trong LayoutTemplate của ListView
- 5. Cách ẩn điều khiển nút trong VBA
- 6. WiX - CustomAction ExeCommand - Ẩn Bảng điều khiển
- 7. cách hiển thị/ẩn cột trong bảng điều khiển lưới extjs 3
- 8. Điều chỉnh cột MySQL ID 1
- 9. Android ẩn listview scrollbar?
- 10. C# Listview, xóa cột rác
- 11. jquery validate ẩn điều khiển kendo-ui
- 12. Cách ẩn các điều khiển trong VideoView trong Android?
- 13. Ẩn thanh cuộn trong điều khiển webBộ điều khiển trình duyệt
- 14. Cột Qt Ẩn trong QTableView
- 15. ASP.NET MVC chuyển ID trong ActionLink đến bộ điều khiển
- 16. Nhận ID Bộ điều khiển Hiện tại trong Yii
- 17. Làm thế nào để ẩn ListView ColumnHeader?
- 18. Ẩn thanh điều khiển điều hướng phía dưới
- 19. IPHONE: ABPeoplePickerNavigation Thanh điều hướng ẩn của thanh điều khiển
- 20. Ẩn thanh cuộn dọc trong điều khiển ListBox
- 21. Ẩn bàn điều khiển trong chức năng C system(), Win
- 22. Điều khiển ẩn ban đầu trong Qt Creator
- 23. jQGrid cột chọn cột ẩn
- 24. Điều khiển ComboBox nhiều cột cho Winforms
- 25. Cột ẩn trong jqGrid
- 26. Làm cách nào để thay đổi ForeColor của một mục con trong điều khiển ListView?
- 27. C# ListView Chiều rộng cột Tự động
- 28. Trình phát Youtube API ẩn điều khiển, ẩn thông tin, ẩn video có liên quan?
- 29. Populating một listview nhiều cột
- 30. Đặt nền cột trong WPF ListView/Gridview