c#winform 的dataset的datatable中怎么手动添加行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#winform 的dataset的datatable中怎么手动添加行相关的知识,希望对你有一定的参考价值。
//1)从数据集中取出一个已有的表DataTable tbl = ds.Tables[0];
//2)创建新行row
DataRow row = tbl.NewRow();
//3)对row各个字段赋值
row[0] = "某某某";
row[1] = ……
……
//4)将新建的行加入到表中
tbl.Rows.Add(row); 参考技术A ========== 方法一
DataTable tblDatas = newDataTable("Datas");
DataColumn dc = null;
//赋值给dc,是便于对每一个datacolumn的操作
dc =tblDatas.Columns.Add("ID",Type.GetType("System.Int32"));
dc.AutoIncrement= true;//自动增加
dc.AutoIncrementSeed = 1;//起始为1
dc.AutoIncrementStep = 1;//步长为1
dc.AllowDBNull = false;//
dc = tblDatas.Columns.Add("Product",Type.GetType("System.String"));
dc = tblDatas.Columns.Add("Version",Type.GetType("System.String"));
dc = tblDatas.Columns.Add("Description",Type.GetType("System.String"));
DataRow newRow;
newRow = tblDatas.NewRow();
newRow["Product"] = "大话西游";
newRow["Version"] = "2.0";
newRow["Description"] = "我很喜欢";
tblDatas.Rows.Add(newRow);
newRow = tblDatas.NewRow();
newRow["Product"] = "梦幻西游";
newRow["Version"] = "3.0";
newRow["Description"] = "比大话更幼稚";
tblDatas.Rows.Add(newRow);
========== 方法二
DataTable tblDatas = newDataTable("Datas");
tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
tblDatas.Columns[0].AutoIncrement = true;
tblDatas.Columns[0].AutoIncrementSeed = 1;
tblDatas.Columns[0].AutoIncrementStep = 1;
tblDatas.Columns.Add("Product",Type.GetType("System.String"));
tblDatas.Columns.Add("Version",Type.GetType("System.String"));
tblDatas.Columns.Add("Description",Type.GetType("System.String"));
tblDatas.Rows.Add(newobject[]null,"a","b","c");
tblDatas.Rows.Add(newobject[] null, "a", "b", "c" );
tblDatas.Rows.Add(new object[] null, "a", "b", "c" );
tblDatas.Rows.Add(new object[] null, "a", "b", "c" );
tblDatas.Rows.Add(new object[] null, "a", "b", "c" );
========== 方法三
DataTable table = new DataTable ();
//创建table的第一列
DataColumn priceColumn = new DataColumn();
//该列的数据类型
priceColumn.DataType = System.Type.GetType("System.Decimal");
//该列得名称
priceColumn.ColumnName = "price";
//该列得默认值
priceColumn.DefaultValue =50;
// 创建table的第二列
DataColumn taxColumn = new DataColumn();
taxColumn.DataType = System.Type.GetType("System.Decimal");
//列名
taxColumn.ColumnName = "tax";
//设置该列得表达式,用于计算列中的值或创建聚合列
taxColumn.expression_r_r = "price *0.0862";
// Create third column.
DataColumn totalColumn = new DataColumn();
totalColumn.DataType = System.Type.GetType("System.Decimal");
totalColumn.ColumnName = "total";
//该列的表达式,值是得到的是第一列和第二列值得和
totalColumn.expression_r_r = "price + tax";
// 将所有的列添加到table上
table.Columns.Add(priceColumn);
table.Columns.Add(taxColumn);
table.Columns.Add(totalColumn);
//创建一行
DataRow row = table.NewRow();
//将此行添加到table中
table.Rows.Add(row);
//将table放在试图中
DataViewview = new DataView(table);
dg.DataSource = view;
dg.DataBind();
Winform datagridview checkbox全选问题
为什么点击全选按钮之后,其他行checkbox都能选中,就是第一行不能选中呢?包括删除多条数据,有没有这方面的源码供参考一下,十分感谢!!
我推测你应该是使用DataSet绑定到DataGridView的,当按下全选按钮时,通过更改DataSet(DetaTable)中的值来达到选中的目的,由于第一行是当前行,当前行的编辑没有结束之前是不会更新到DataGridView上的。
你可以调用一下DataGridView的EndEdit()方法,应该就可以了。
如果不行,你把你全选按钮的代码贴出来。 参考技术A 肯定是起始行索引搞错了啊,起始行的索引是0,并不是1 参考技术B 自己调试看第一个元素为什么没被选中
以上是关于c#winform 的dataset的datatable中怎么手动添加行的主要内容,如果未能解决你的问题,请参考以下文章
vs2008的c#winform开发,关于listview的数据绑定
在C#WINFORM程序里,怎么获取DATASET中TABLE[0]表的第一行第一个元素?
winform AutoCompleteCustomSource.AddRange