我正在使用C#。 我想隐藏或从DataTable或DataSet中删除列。 我附上了部分代码:
DataTable dt = new DataTable();
DataView dv = new DataView();
dv = (DataView)Session["map_hi"];
dt = dv.ToTable();
dt.Columns[0].ColumnMapping = MappingType.Hidden;
dt.AcceptChanges();
我正在使用C#。 我想隐藏或从DataTable或DataSet中删除列。 我附上了部分代码:
DataTable dt = new DataTable();
DataView dv = new DataView();
dv = (DataView)Session["map_hi"];
dt = dv.ToTable();
dt.Columns[0].ColumnMapping = MappingType.Hidden;
dt.AcceptChanges();
DataTable t;
t.Columns.Remove("columnName");
t.Columns.RemoveAt(columnIndex);
正如Pranay所说,您可以使用myTable.Columns.Remove("columnName");
删除列。
但在我的情况下,它会抛出异常,因为“无法删除此列,因为它是父关系的一部分”。
我能够通过以下方式克服这个问题。
myTable.ParentRelations.Clear();
myTable.ChildRelations.Clear();
myTable.Constraints.Clear();
myTable.Columns.Remove("columnName");
使用Visible
属性来隐藏特定的列:
dt.Columns[0].Visible= false;
如果想要隐藏和显示,请尝试以下方法:
隐藏:
dt.Columns[ColumnIndex].Visible = false;
或者:
dt.Columns["ColumnName"].Visible = false;
用于展示:
dt.Columns[ColumnIndex].Visible = true;
或者:
dt.Columns["ColumnName"].Visible = true;
用于移除:
dt.Columns.RemoveAt(ColumnIndex);
或者:
dt.Columns.Remove("ColumnName");
dt.Columns.Remove("ColumnName")
。 - Hamlet Hakobyan