在DataTable中添加DataRow [英] Add DataRow in DataTable

查看:225
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆