public DataTable removeTable(DataTable dt ,string c1,string c2)
{
int count =dt.Columns .Count ;
for(int i=0;i<dt.Columns .Count ;i++)
{
if ((dt.Columns [i].ToString ().Trim ()!=c1)&&(dt.Columns [i].ToString ().Trim ()!=c2))
{
dt.Columns .Remove (dt.Columns [i].ToString ().Trim ());
//dt.Columns .RemoveAt (i); //下面这个也试过了,效果了一样。
}
return dt;
}
我写了这么一个保留datatable 固定两列的方法。为什么出现datable 里面部分列被移除,部门列依然存在的情况,不能完全移除不需要的列,不知道哪里出问题的
{
int count =dt.Columns .Count ;
for(int i=0;i<dt.Columns .Count ;i++)
{
if ((dt.Columns [i].ToString ().Trim ()!=c1)&&(dt.Columns [i].ToString ().Trim ()!=c2))
{
dt.Columns .Remove (dt.Columns [i].ToString ().Trim ());
//dt.Columns .RemoveAt (i); //下面这个也试过了,效果了一样。
}
return dt;
}
我写了这么一个保留datatable 固定两列的方法。为什么出现datable 里面部分列被移除,部门列依然存在的情况,不能完全移除不需要的列,不知道哪里出问题的
Public Function BindGrid()
''量表名 Dim s_tab As String = Me.dropLbmc.Text
Dim dg_que_congfig As DataTable
''开始页面数
Dim start_rec As Integer = pager.PageSize * (pager.CurrentPageIndex - 1)
''最大页面数
Dim max_rec As Integer = pager.PageSize
''表名
Dim table_name As String = "que_config"
Try
dg_que_congfig = m_que_config.getPageRecordQue_configByStab(s_tab, start_rec, max_rec, table_name)
Session("hmm_que_config") = dg_que_congfig.Copy
''去掉试卷ID列 dg_que_congfig.Columns.Remove("QUES_ID")
dg_que_congfig.Columns.Remove("是否允许重来")
dgrdConfig.DataSource = dg_que_congfig
dgrdConfig.DataBind()
Catch ex As Exception
lbl_message.Text = "<IMG src='../images/@warn.gif'>" & ex.Message
End Try
End Function用的VB.NET,对你不知道有没有帮助,你看看吧
改成
dt.Columns[i].ColumnName
ToString()输出的不是DataColumn类型名子,不是列名
int[] ar = new int[dtResult.Rows.Count];
for (int i = 0; i < dtResult.Rows.Count; i++)
{
if (dtResult.Rows[i][0].ToString() =="0")
{
ar[i] = i;
}
} for (int num=ar.Length-1; num > -1 ;num-- )
{
dtResult.Rows[num].Delete();
}把Rows改成columns
public DataTable removeTable(DataTable dt, string c1, string c2)
{
int count = dt.Columns.Count;
for (int i = 0; i < dt.Columns.Count; i++)
{
if ((dt.Columns[i].ColumnName.Trim() != c1.Trim()) && (dt.Columns[i].ColumnName.Trim() != c2.Trim()))
{
dt.Columns.Remove(dt.Columns[i].ColumnName);
}
}
return dt;
}复制以上代码
{
int j = 0;
for (; j < dtSqlResult.Rows.Count; j++)//行
{
if (dtSqlResult.Rows[j][i].ToString().Trim() != "")
{
break;//
}
}
if (j == dtSqlResult.Rows.Count)//该列所有行都为空行
{
//emptyCols[emptyColsIndex++] = i;
//dtSqlResult.Columns.Remove(dtSqlResult.Columns[i]);
dtSqlResult.Columns.RemoveAt(i);
}
}
为什么移除不了空行?