DataRow各种琐事

来源:互联网 发布:淘宝买号 编辑:程序博客网 时间:2024/06/05 09:42

对于DataRow的小笔记。

小问题:

  1. DataRow Mydr = New DataRow()//这是错误的,DataRow是不能new的
    解决方法:DataRow Mydr = DataTable.NewRow();
for (int i = 0,max = 0,min = 0,j = 0; j < Mystr.Length/3; i++,max++,j++)            {                min = 0; i = 0;                DataRow dr = Mydt.NewRow();                dr[i] = Mystr[max, min];                dr[++i] = Mystr[max, ++min];                dr[++i] = Mystr[max, ++min];                Mydt.Rows.Add(dr);            }

DataRow调试解答:
2. 总结1:DataRow里面的元素是根据数组总共有多少列来决定。关键语句:dr[i] = Mystr[max, min];
3. 总结2:因此每次循环赋值后都需要添加进Table表中。
4. 总结3:所以每次循环赋值后都需要开辟一个DataRow的空间,在进行下一行的赋值。

private void 绑定模式_Load(object sender, EventArgs e)        {            dataGridView1.DataSource = dt();        }        private DataTable dt()        {            DataTable Mydt = new DataTable();            Mydt.Columns.Add("Name", Type.GetType("System.String"));            Mydt.Columns.Add("get", Type.GetType("System.String"));            Mydt.Columns.Add("cc", Type.GetType("System.String"));            string[,] Mystr = new string[,] {{"张三","男","23"},{"李四","女","24"},                                           {"小明","男","25"},{"小红","女","26"}};            //第一种            //for (int i = 0; i < Mystr.Length / 2; i++)            //{            //    DataRow Mydr = Mydt.NewRow();            //    Mydr[0] = Mystr[i, 0];            //    Mydr[1] = Mystr[i, 1];            //    Mydt.Rows.Add(Mydr);            //}            //第二种            for (int i = 0,max = 0,min = 0,j = 0; j < Mystr.Length/3; i++,max++,j++)            {                min = 0; i = 0;                DataRow dr = Mydt.NewRow();                dr[i] = Mystr[max, min];                dr[++i] = Mystr[max, ++min];                dr[++i] = Mystr[max, ++min];                Mydt.Rows.Add(dr);            }            //总结来说相对第一种赋值方式比较简便。            return Mydt;        }
0 0
原创粉丝点击