110,533
社区成员
发帖
与我相关
我的任务
分享
List<string> list = new List<string>();
List<string> headerTextList = 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);
headerTextList.Add(this.GvData.Columns[i].HeaderText);
}
}
list.ForEach(x =>
{
dt.Columns.Remove(x);
});
for (int i = 0; i < this.GvData.Columns.Count; i++)
{
if (headerTextList.FindIndex(delegate(string headerText) { return headerText == this.GvData.Columns[i].HeaderText; }) > -1)
{
this.GvData.Columns.RemoveAt(i);
}
}
this.GvData.DataSource = dt;
this.GvData.DataBind();
<asp:GridView ID="GvData" Width="100%" runat="server" AutoGenerateColumns="False" EnableModelValidation="True">
<Columns>
<asp:BoundField HeaderText="col0" DataField="col0" />
<asp:BoundField HeaderText="col1" DataField="col1" />
<asp:BoundField HeaderText="col2" DataField="col2" />
<asp:BoundField HeaderText="col3" DataField="col3" />
<asp:BoundField HeaderText="col4" DataField="col4" />
<asp:BoundField HeaderText="col5" DataField="col5" />
<asp:BoundField HeaderText="col6" DataField="col6" />
<asp:BoundField HeaderText="col7" DataField="col7" />
<asp:BoundField HeaderText="col8" DataField="col8" />
<asp:BoundField HeaderText="col9" DataField="col9" />
</Columns>
</asp:GridView>
标记<Columns>里的列如果DataField属性有设定,而你在绑定datagrid前,dt就删除了里面其中的一列,就会报错。
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);
});
DateTime kssj = this.dtpKSSJ.Value;
DateTime jssj = this.dtpJSSJ.Value;
TimeSpan ts = jssj - kssj;
int days = ts.Days;
DataTable dt = SQLHelper.Select(kssj, jssj, "", "jl_rpt0040");
foreach (DataColumn dc in dt.Columns)
{
for (int i = 4; i < dt.Columns.Count; i++)
{
object obj = dt.Compute("sum(" + dt.Columns[i] + ")", "TRUE");
float tmpInt;
if (float.TryParse(obj.ToString(), out tmpInt) && tmpInt == 0)
{
dt.Columns.Remove(dc.ColumnName);
}
else
{
for (int d = 0; d <= days; d++)
{
if (dc.ColumnName != kssj.AddDays(d).ToString("MM月dd日"))
{
dc.ColumnName = kssj.AddDays(d).ToString("MM月dd日");
}
else
{
return;
}
}
}
}
this.dataGridView1.DataSource = dt;
}
for(int i=5;i<dt.rows.count;i++)
foreach (DataColumn col in dt.Columns)
改成
for (var i=4 ;i<dt.Columns.Count;i++)
{
DataColumn col=dt.Columns[i];
}
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.ForEach(x =>
{
dt.Columns.Remove(x);
});
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);
});