在DataTable中添加DataRow [英] Add DataRow in DataTable
本文介绍了在DataTable中添加DataRow的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个数据表,我正在申请条件。
DataTable dt = new DataTable();
dt =(DataTable)会话[ table];
DataRow [] rows = dt.Select( Name ='abc');
dt.Clear();
dt.Rows.Add(rows);
当我向datatable添加行时,我收到错误,
< pre lang =text>输入数组长于此表中的列数。
DataTable列:
if (会话[ table]!= null )
{
DataColumn col = new DataColumn ();
col.DataType = System.Type.GetType( System.Int32);
col.ColumnName = sno;
DataTable dt = new DataTable();
dt =(DataTable)会话[ table];
if (!dt.Columns.Contains( RegNo))
{
dt.Columns.Add( RegNo)。SetOrdinal( 6 );
}
if (!dt.Columns.Contains(col))
{
dt.Columns.Add(列);
col.SetOrdinal( 0 );
}
int index = 0 ;
foreach (DataRow row in dt.Rows)
{
row.SetField(col,++ index);
}
DataRow [] rows = dt.Select( Name ='abc'< /跨度>);
dt.Clear();
if (flag == 0 )
{
foreach (DataRow row in dt.Rows)
{
row.SetField( RegNo, 空跨度>);
}
flag = 1 ;
}
dt.Rows.Add(rows);
gd.Visible = true ;
gd.DataSource = dt;
gd.DataBind();
}
请帮忙。在此先感谢
解决方案
http://social.msdn.microsoft.com/Forums/vstudio/en-US/f0753e31-efd0-44b8-b5a5-836e5f058420/remove- rows-from-datatable?forum = wpf [ ^ ]
尝试仅删除不需要的行:
DataRow [] dr = null ; // 数据行数组
dr = dt.Select( Name!='abc'); // 获取arrray中匹配条件的行
// 循环抛出数组并从数据表中删除这些行
foreach (DataRow row in dr){
dt.Rows.Remove(row);
}
Hi,
I have a datatable, and I am applying conditions to that.
DataTable dt = new DataTable();
dt = (DataTable)Session["table"];
DataRow[] rows = dt.Select("Name = 'abc'");
dt.Clear();
dt.Rows.Add(rows);
When I add rows to datatable, I am getting an error,
Input array is longer than the number of columns in this table.
DataTable columns :
if (Session["table"] != null)
{
DataColumn col = new DataColumn();
col.DataType = System.Type.GetType("System.Int32");
col.ColumnName = "sno";
DataTable dt = new DataTable();
dt = (DataTable)Session["table"];
if (!dt.Columns.Contains("RegNo"))
{
dt.Columns.Add("RegNo").SetOrdinal(6);
}
if (!dt.Columns.Contains(col))
{
dt.Columns.Add(col);
col.SetOrdinal(0);
}
int index = 0;
foreach (DataRow row in dt.Rows)
{
row.SetField(col, ++index);
}
DataRow[] rows = dt.Select("Name = 'abc'");
dt.Clear();
if (flag == 0)
{
foreach (DataRow row in dt.Rows)
{
row.SetField("RegNo", "null");
}
flag = 1;
}
dt.Rows.Add(rows);
gd.Visible = true;
gd.DataSource = dt;
gd.DataBind();
}
Please help. Thanks in advance
解决方案
http://social.msdn.microsoft.com/Forums/vstudio/en-US/f0753e31-efd0-44b8-b5a5-836e5f058420/remove-rows-from-datatable?forum=wpf[^]
Try to remove only the undesired rows :
DataRow[] dr = null;//a datarow array dr = dt.Select("Name != 'abc'"); //get the rows with matching condition in arrray //loop throw the array and delete those rows from datatable foreach (DataRow row in dr) { dt.Rows.Remove(row); }
这篇关于在DataTable中添加DataRow的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文