.net 1.1中的解决方法
1建立一个DataSetHelper类(DataSetHelper.cs)
public class DataSetHelper
{
public DataSet ds;
public DataSetHelper(ref DataSet DataSet)
{
ds = DataSet;
}
public DataSetHelper()
{
ds = null;
}
private bool ColumnEqual(object A, object B)
{
if (A == DBNull.Value && B == DBNull.Value) // both are DBNull.Value
return true;
if (A == DBNull.Value || B == DBNull.Value) // only one is DBNull.Value
return false;
return (A.Equals(B)); // value type standard comparison
}
public DataTable SelectDistinct(string TableName, DataTable SourceTable, string FieldName)
{
DataTable dt = new DataTable(TableName);
dt.Columns.Add(FieldName, SourceTable.Columns[FieldName].DataType);
object LastValue = null;
foreach (DataRow dr in SourceTable.Select("", FieldName))
{
if (LastValue == null || !(ColumnEqual(LastValue, dr[FieldName])))
{
LastValue = dr[FieldName];
dt.Rows.Add(new object[] { LastValue });
}
}
if (ds != null)
ds.Tables.Add(dt);
return dt;
}
}
2 建立一个Web窗体,在page_load中写下面的代码
DataSet ds;
DataSetHelper dsHelper;
ds = new DataSet();
dsHelper = new DataSetHelper(ref ds);
// Create source table
DataTable dt = new DataTable("Orders");
dt.Columns.Add("EmployeeID", Type.GetType("System.String"));
dt.Columns.Add("OrderID", Type.GetType("System.Int32"));
dt.Columns.Add("Amount", Type.GetType("System.Decimal"));
dt.Rows.Add(new object[] { "Sam", 5, 25.00 });
dt.Rows.Add(new object[] { "Tom", 7, 50.00 });
dt.Rows.Add(new object[] { "Sue", 9, 11.00 });
dt.Rows.Add(new Object[] { "Tom", 12, 7.00 });
dt.Rows.Add(new Object[] { "Sam", 14, 512.00 });
dt.Rows.Add(new Object[] { "Sue", 15, 17.00 });
dt.Rows.Add(new Object[] { "Sue", 22, 2.50 });
dt.Rows.Add(new object[] { "Tom", 24, 3.00 });
dt.Rows.Add(new object[] { "Tom", 33, 78.75 });
ds.Tables.Add(dt);
DataTable td=dsHelper.SelectDistinct("DistinctEmployees", ds.Tables["Orders"], "EmployeeID");
this.GridView1.DataSource = td;
this.GridView1.DataBind();
===========================================================================================
.net 2.0中的解决方法
public DataTable GetTopSearch()
{
DataSet dsKeyword = dal.GetKeyword();
DataSet dsTopSearch = new DataSet();
for (int i = 0; i < 4; i++)
{
string keyword = dsKeyword.Tables[0].Rows[i]["Name"].ToString();
string condition = dsKeyword.Tables[0].Rows[i]["SearchCondition"].ToString();
dsTopSearch.Merge(dal.GetTopSearch(keyword,condition));
}
return dsTopSearch.Tables[0].DefaultView.ToTable(true, "ID","Name","Author","Publisher","PublishDate","TypeName","Price","SalePrice","SavePrice","Rebate","ImagePath","ContentIntro");
}
相关推荐
datatable中移除重复行 ,并能合并重复行
详细描述如何使用C# 去除DataTable中的重复列,根据列名去重保留其他列
本文实例讲述了C#中datatable去重的方法,分享给大家供大家参考。具体方法如下: 这里主要介绍两种方法: 1 数据库直接去除重复 代码如下:select distinct * from 表名 去除了重复行distinct 2 对 DataTable直接...
对于这个问题,自己郁闷了四五天的时间,之后终于做出来了,分享一下. 主要是从操作内存中的datatable表,而非直接操作数据库,筛选,去除重复行,sum求和,根据某个字段进行排序等等操作....
去掉DataTable中(所有列的数据都相同)重复的行: 代码如下: //DataView dv = dt3.DefaultView; //dt3默认的虚拟视图 //dv.Sort = “wmid asc”; //排序 ///dv.ToTable(true, “列名,列名,列名”); ///第一个...
winform中,浏览一个文件,将txt文件中的重复记录去掉。 首先将txt文档中的记录,映射到DataTable中,然后进行处理。
0877 利用关键字DISTINCT去除重复记录 517 0878 巧用TOP子句获取信息 518 0879 巧用CONTAINS谓词检索信息 518 0880 通过ISNULL替换信息 519 0881 比较COMPUTE和GROUP BY 519 0882 如何对指定时间段进行...
85 <br>0131 巧截字符串的数字 86 <br>0132 如何存储变长字符串 86 <br>0133 在进行字符串比较时忽略大小写 87 <br>0134 如何去除字符串尾空格 87 <br>0135 如何去掉字符串中所有空格 ...
降低研发人员门槛,提高效率,去除重复引用DLL的工作,基础配置由抽象工厂处理。 基础扩展 /// /// DataTable 转换为List 集合 /// /// 类型 /// <param name=dt>...
请不要重复打开程序!可在右下角系统栏找到!","程序错误提示:",MessageBoxButtons.OK,MessageBoxIcon.Stop); return; } Application.Run(new Form1()); } // ******************* 防止程序多次执行 ***********...
-修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...