且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将勾选数据从dataset中筛选出来

更新时间:2022-08-26 11:15:13

方案一:

                DataSet dsTemp = new DataSet();
                dsTemp = dsDt.Clone();
                DataRow[] drs = dsDt.Tables[0].Select("CHECKED='1'");
                foreach (DataRow dr in drs)
                {
                    dsTemp.Tables[0].NewRow();
                    dsTemp.Tables[0].Rows.Add(dr.ItemArray);
                }
                dsDt.AcceptChanges();

小注:

         1、AcceptChanges和RejectChanges:接受或放弃DataSet中所有挂起更改。调用AcceptChanges时,RowState属性值为Added或Modified的所有行的RowState属性都将被设置为UnChanged.任何标记为Deleted的DataRow对象将从DataSet中删除。调用RejectChanges时,任何标记为Added的DataRow对象将会被从DataSet中删除,其他修改过的DatRow对象将返回前一状态。

        2、ItemArray:获取或设置行中所有列的值。

        3、Clone和Copy:使用Copy方法会创建与原DataSet具有相同结构和相同行的新DataSet.使用Clone方法会创建具有相同结构的新DataSet,但不包含任何行。

       4、NewRow() 创建与该表具有相同架构的新DataRow。

方案二:

DataSet dsTemp = new DataSet();
dsTemp.Merge(dsDt.Tables[0].Select("CHECKED='1'"));

小注:

        Merge:从另一个DataSet、DataTable或现有DataSet中的一组DataRow对象载入数据。