DataTable详细介绍

20 篇文章 0 订阅
5 篇文章 0 订阅
DataTable 是一种行列的数据结构,是一个二维的数组,能够转化为试图,转化为表,在和数据库交互时有重要作用;它常常作为DataSet的一个子集
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataTable详解
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable dt = new DataTable();//创建表
            dt.Columns.Add("ID", typeof(Int32));//添加列
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Age", typeof(Int32));
            dt.Rows.Add(new object[] { 1, "张三", 20 });//添加行
            dt.Rows.Add(new object[] { 2, "李四", 30 });
            dt.Rows.Add(new object[] { 3, "王五", 40 });
            DataView dv = dt.DefaultView;//获取表的视图
            dv.Sort = "ID DESC";   //按照ID排序
            dv.ToTable();//转化为表

            //创建列
            //DataColumn dc = new DataColumn();
            //dt.Columns.Add(dc);
            //创建带列名和类型的列
            //DataColumn dc = new DataColumn("列名", System.Type.GetType("System.String"));
            //dt.Columns.Add(dc);

            //创建行
            //DataRow dr = dt.NewRow();
            //dt.Rows.Add(dr);
            //或者
            //dt.Rows.Add();
            //还可以创建时直接赋值
            //dt.Rows.Add("张三", DateTime.Now);
            //还可以通过复制其他表的某一行来创建
            //dt.Rows.Add(dt2.Rows[i].ItemArray);

            //取值和赋值
            /*
             对表新建行的赋值
             DataRow dr=dt.NewRow();
             dr[0]="张三";            通过索引赋值
             dr["列名"]=DataTime.Now; 通过列名赋值

             对表已有行的赋值
             dt.Rows[0][0]="张三";             通过索引赋值
             dt.Rows[0]["列名字"]=DateTime.Now;通过列名赋值

            取值
            string name=dt.Rows[0][0].ToString();
            string time=dt.Rows[0]["列名字"].ToString();
             */


            //筛选行
            //DataRow[] drs = dt.Select("列名字 is null");
            //DataRow[] drs = dt.Select("列名字 ='李四'");
            //DataRow[] drs = dt.Select("column like '张%'");
            //DataRow[] drs=dt.Select("column0 like '张%'","column0 DESC");

            //删除行
            //使用DataTable.Rows.Remove(DataRow)方法
            //dt.Rows.Remove(dt.Rows[0]);
            //使用DataTable.Rows.RemoveAt(index)方法
            //dt.Rows.RemoveAt(0);
            //使用DataRow.Delete()方法
            //dt.Row[0].Delete();
            //dt.AcceptChanges();
            //-----区别和注意点-----
            //Remove()和RemoveAt()方法是直接删除
            //Delete()方法只是将该行标记为deleted,但是还存在,还可DataTable.RejectChanges()回滚,使该行取消删除。
            //用Rows.Count来获取行数时,还是删除之前的行数,需要使用DataTable.AcceptChanges()方法来提交修改。
            //如果要删除DataTable中的多行,应该采用倒序循环DataTable.Rows,而且不能用foreach进行循环删除,因为正序删除时索引会发生变化,程式发生异常,很难预料后果。
            //for (int i = dt.Rows.Count - 1; i >= 0; i--)
            //{
            //    dt.Rows.RemoveAt(i);
            //}

            //复制表
            //复制表,同时复制了表结构和表中的数据
            //DataTable dtNew = new DataTable();
            //dtNew = dt.Copy();
            复制表
            //DataTable dtNew = dt.Copy();  //复制dt表数据结构
            //dtNew.Clear()  //清空数据
            //for (int i = 0; i < dt.Rows.Count; i++)
            //{
            //    if (条件语句)
            //    {
            //        dtNew.Rows.Add(dt.Rows[i].ItemArray);  //添加数据行
            //    }
            //}
            克隆表,只是复制了表结构,不包括数据
            //DataTable dtNew = new DataTable();
            //dtNew = dt.Clone();
            如果只需要某个表中的某一行
            //DataTable dtNew = new DataTable();
            //dtNew = dt.Copy();
            //dtNew.Rows.Clear();//清空表数据
            //dtNew.ImportRow(dt.Rows[0]);//这是加入的是第一行

        }
    }
}

  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DataGridView是C# Windows Forms中的一个控件,用于显示和编辑表格数据。下面是对DataGridView的详细介绍: 1. 显示表格数据:DataGridView可以以表格形式展示数据,每行代表一个数据记录,每列代表一个数据字段。你可以通过设置DataGridView的DataSource属性来绑定数据源,可以是DataTable、DataSet、List等。 2. 数据编辑:DataGridView允许用户对表格中的数据进行编辑。用户可以直接在单元格中输入或修改数据,也可以使用代码来修改单元格的值。通过设置DataGridView的ReadOnly属性,可以控制是否允许用户编辑数据。 3. 排序和过滤:DataGridView支持对表格数据进行排序和过滤。用户可以点击列标题进行升序或降序排序,也可以使用代码来定排序规则。此外,DataGridView还提供了筛选功能,可以根据用户输入的条件对数据进行筛选。 4. 样式和外观:DataGridView允许你自定义单元格、行、列的样式和外观。你可以设置单元格的背景颜色、字体样式、边框等。还可以自定义行和列的样式,如背景颜色、宽度、可见性等。 5. 事件处理:DataGridView提供了许多事件,可以用于处理用户交互和数据操作。例如,CellClick事件在用户点击单元格时触发,CellValueChanged事件在单元格的值更改后触发,可以使用这些事件来执行相应的操作。 6. 数据选择:DataGridView允许用户选择单元格、行或列。你可以通过设置SelectionMode属性来定义选择模式,如单元格选择、行选择或列选择。 7. 数据绑定:DataGridView可以与数据源进行双向绑定,这意味着当数据源的数据变化时,DataGridView会自动更新显示的数据,并且当用户修改了DataGridView中的数据时,数据源也会相应地更新。 总而言之,DataGridView是C# Windows Forms中一个功能强大的控件,用于显示和编辑表格数据。它提供了丰富的功能和灵活的样式定制,使得在Windows应用程序中展示和操作表格数据变得简单和便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值