2012-11-16 30 views
8

Tôi đang sử dụng C#. Tôi muốn ẩn hoặc loại bỏ các cột từ DataTable hoặc DataSet. Tôi gắn code một phần của tôi:Làm cách nào để xóa hoặc ẩn cột cụ thể trong một trường dữ liệu?

DataTable dt = new DataTable(); 
DataView dv = new DataView(); 
dv = (DataView)Session["map_hi"]; 
dt = dv.ToTable(); 
dt.Columns[0].ColumnMapping = MappingType.Hidden; 
dt.AcceptChanges(); 
+0

Tôi muốn ẩn hoặc loại bỏ các cột từ DataTable 'dt.Columns. Xóa ("ColumnName") ' –

Trả lời

13

thử tài sản

DataTable t; 
    t.Columns.Remove("columnName"); 
    t.Columns.RemoveAt(columnIndex); 
+0

cảm ơn s làm việc của nó – user1557020

+0

Nếu bạn đã giải quyết các cột như id (khóa chính), bạn sẽ không thể loại bỏ nó (Kịch bản này xảy ra với tôi). Nếu không thì nó sẽ hoạt động. –

2

Sử dụng Visible này để ẩn cột cụ thể:

dt.Columns[0].Visible= false; 
+8

Theo như tôi biết điều này chỉ hoạt động trên cho _DataGridView_ và không cho _DataTable_. Vì vậy, _dt_ có thể là một chút sai lầm như tên biến trong ví dụ của bạn. –

+0

@ChristianJunk đây là năm ngoái. Bên cạnh đó, điều này làm việc cho tôi. Tôi sẽ đề cập đến trong câu trả lời của tôi nếu tôi không chắc chắn về nó. – KaeL

+2

này không hoạt động –

0

Để ẩn và hiển thị thử điều này:

Để ẩn:

dt.Columns[ColumnIndex].Visible = false; 

hay:

dt.Columns["ColumnName"].Visible = false; 

Đối với thể hiện:

dt.Columns[ColumnIndex].Visible = true; 

hay:

dt.Columns["ColumnName"].Visible = true; 
Các vấn đề liên quan