DataTable中如果某列数据全部为0,则不显示那一列,该如何做

DataTable中如果某列数据全部为0,则不显示那一列,该怎么做
如题,
DataTable中如果某列数据全部为0,则不显示那一列,该如何做
我要将数据为0的列在DataTable中移除并更改列名,  要如何做判断
------解决思路----------------------
List<string> list = new List<string>();
            foreach (DataColumn col in dt.Columns)
            {
                object obj = dt.Compute("sum(" + col.ColumnName + ")", "TRUE");
                int tmpInt;
                if (int.TryParse(obj.ToString(), out tmpInt) && tmpInt == 0)
                {
                    list.Add(col.ColumnName);
                }
                list.Add(col.ColumnName);
            }
            list.ForEach(x =>
            {
                dt.Columns.Remove(x);
            });

------解决思路----------------------
i=4……手抖打错
------解决思路----------------------
遍历所有列,合计是0就把该列Visible属性设为false
------解决思路----------------------

 List<string> list = new List<string>();
            for (int i = 4; i < dt.Columns.Count; i++)
            {
                DataColumn col = dt.Columns[i];
                object obj = dt.Compute("sum(" + col.ColumnName + ")", "TRUE");
                int tmpInt;
                if (int.TryParse(obj.ToString(), out tmpInt) && tmpInt == 0)
                {
                    list.Add(col.ColumnName);
                }
            }
            list.ForEach(x =>
            {
                dt.Columns.Remove(x);
            });

------解决思路----------------------
你的datagridview的列是在前台手动设置,没用自动显示列吧。这样的话,如果前台设定的列在dt里被删除了,就会提示你说的错误。解决办法是,在dt删除列的同时,需要把gridview里相应的列给删除才可以。
------解决思路----------------------
http://goobbe.com/questions/6322683/removing-few-columns-from-data-table-c