Home > Deveploment and Programming > Distinct Row/Value from DataTable using C#

Distinct Row/Value from DataTable using C#

There is not any built in methed in the framework. there are function to achieve this.

1.

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 });
}
}
return dt;
}

 

2.

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
}

 

Reference : http://support.microsoft.com/default.aspx?scid=kb;en-us;326176#1

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: