Reputation: 371
I Have to filter a particular column in my data table.
here is my code
string Groupname = txtGroup.Text;
DataTable dt1 = _objGetDataProcess.Getgroupname(Groupname);
In dt1 i am getting table like this
here i have to filter Item column alone.
Upvotes: 0
Views: 1105
Reputation: 460058
You can use Linq-To-DataTable
:
var filteredRows = dt1.AsEnumerable()
.Where(row => row.Field<string>("Item") == itemTextToFilter);
... case-insensitive:
var filteredRows = dt1.AsEnumerable()
.Where(row => string.Equals(row.Field<string>("Item"), itemTextToFilter,StringComparison.CurrentCultureIgnoreCase));
If you need a new DataTable
use filteredRows.CopyToDataTable()
.
If you want to find also sub-strings:
var filteredRows = dt1.AsEnumerable()
.Where(row => row.Field<string>("Item").Contains(itemTextToFilter));
... case-insensitive:
var filteredRows = dt1.AsEnumerable()
.Where(row => row.Field<string>("Item").IndexOf(itemTextToFilter, StringComparison.CurrentCultureIgnoreCase) >= 0);
Upvotes: 1