• 欢迎访问交通人网站!
  • 分享一款小游戏:信任的进化
  •    发表于9年前 (2016-02-29)  热点资讯 |   抢沙发  546 
    文章评分 5 次,平均分 4.8

    创建列

    DataTable dt = new DataTable("名单"); 
    dt.Columns.Add("学号",typeof(System.Int16));
    dt.Columns.Add("姓名",typeof(System.String));
    dt.Columns.Add("班级",typeof(System.String));

    新增行

    DataRow dr = dt.NewRow(); 
    dr["学号"]=2;
    dr["姓名"]="小明";
    dr["班级"]="三年级二班";
    dt.Rows.Add(dr);

    删除行

    Delete

    dt.Rows[i].Delete();

    Remove

    dt.Rows[i].Remove(dt.Rows[i]);
    dt.Rows[i].RemoveAt(i);

    区别

    Delete()只是将相应的行标记为删除,需要使用AccepteChanges()方法确认删除,同时可以通过RejectChanges()方法撤销删除;而Remove(),或RemoveAt(),则是直接删除行。

    注意

    在DataTable中每删除一行,表中所有行的索引都会发生改变。在循环处理表中数据时,需要特别注意这一特性。如果需要对表中行进行删减操作,强烈建议采用倒序循环表中行。

    for(int i=dt.Rows.Count-1;i>=0;i--)//倒序循环
    {
    if(dt.Rows[i]["班级"].ToString().Trim()=="三年级二班")
    {
    dt.Rows[i].Delete();//删除行
    }
    }
    dt.AccepteChanges();//确认删除

    排序

    DataView dv = dt.DefaultView;
    dv.Sort = "学号 DESC";// DESC:倒序排序(从大到小),ACS:正序排序(从小到大)
    dt= dv.ToTable();

    筛选

    Select(),可以带条件,如Select("Col1 like '%xx%'"),也可以排序,如Select("Col1 like '%xx%'",Col2)。

    DataRow[] rows = dt.Select("班级='三年级二班'","学号 asc");

    合并

    可以逐行读取并写入目标表,也可以直接使用Merge()方法。

    dt1.Merge(dt2);

    C#:DataTable 的基本操作

     

    除特别注明外,本站所有文章均为交通人原创,转载请注明出处来自http://www.hijtr.com/csharp-datatable/

    交通人博客是交通人工作室(JTR Studio)建立的交通人系列网站之一,是交通人工作室的主阵地,旨在整合和分享交通行业相关资讯,具体包括但不限于行业新闻、行业动态,以及行业相关规范、书籍、报告和软件等资源。

    发表评论

    表情 格式

    暂无评论

    
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享