由dataview生成对应的datatable的方法
2013-01-22 20:35
363 查看
/// <summary> /// 由dataview生成对应的datatable /// </summary> /// <param name="obDataView"></param> /// <returns></returns> public static DataTable CreateTable(DataView obDataView) { if (null == obDataView) { throw new ArgumentNullException("DataView", "Invalid DataView object specified"); } DataTable obNewDt = obDataView.Table.Clone(); int idx = 0; string[] strColNames = new string[obNewDt.Columns.Count]; foreach (DataColumn col in obNewDt.Columns) { strColNames[idx++] = col.ColumnName; } IEnumerator viewEnumerator = obDataView.GetEnumerator(); while (viewEnumerator.MoveNext()) { DataRowView drv = (DataRowView)viewEnumerator.Current; DataRow dr = obNewDt.NewRow(); try { foreach (string strName in strColNames) { dr[strName] = drv[strName]; } } catch (Exception ex) { Console.WriteLine(ex.Message); } obNewDt.Rows.Add(dr); } return obNewDt; }
下面是编的一个小例子,用来将指定index所取集合范围的原表(dt)记录组合到另一个新表(dtNew)中,将新表返回:
DataTable dtNew = dt.Clone(); DataView dv = dt.DefaultView; foreach (string index in lst) { dv.RowFilter = "id=" + index; DataTable dataTemp = CreateTable(dv); DataRow dr = dtNew.NewRow(); for (int i = 0; i < dataTemp.Columns.Count; i++) { dr[i] = dataTemp.Rows[0][i]; } dtNew.Rows.Add(dr); } return dtNew;
相关文章推荐
- .Net core下直接执行SQL语句并生成DataTable的实现方法
- .Net core下直接执行SQL语句并生成DataTable的实现方法
- DataTable.Select 方法 (String, String, DataViewRowState)
- Silverlight中文件的生成操作与其对应的获取方法
- 将排好序的DataView转成DataTable的方法
- 使用rails g方法时不让rails生成对应的assets, helper等文件
- 一种迅速从datatable生成excel文件的方法
- 易语言-无品伪程序员迅速生成配对的按钮对应的标签方法-求速度的方法
- php实现根据字符串生成对应数组的方法
- 关于Flex4不生成mxml对应的html文件的解决方法-------无法打开"D:/MyEclipse 8.5/项目名称/WebRoot/WEB-INF/flex/local/zh_CN"
- winform程序编译的时候,项目里的xml生成到debug目录下对应方法
- 对DataTable进行过滤筛选的一些方法Select,dataview(转载)
- java随机生成一个名字和对应拼音的方法
- DataTable.Select 方法 (String, String, DataViewRowState)
- Qt 生成ui对应的h文件和cpp文件的方法
- 操作DataTable利用DataView 做成类似sql里的top方法简单介绍【个人原创】
- 将DataView转化为DataTable方法!
- 将排好序的DataView转成DataTable的方法
- 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】
- 【网页访问单向、双向验证均可以】https原理及tomcat配置https方法[生成CA根证书配置tomcat后,若要成功访问axis中的webservice,需要配置它对应的axis2.xml文件]