(1)Filter datatable records using Datatableview
==========================================================
DataTable HospitalsData = new DataTable();
DataView HospitalsDataView = new DataView(HospitalsData);
(a)where condition
---------------------------------------------------------------------------------------
string HospitalFilterWithCity = string.Format("Ex={0}", CityID);
HospitalsDataView.RowFilter = HospitalFilterWithCity;
DataTable HospitalsDataViewResult = HospitalsDataView.ToTable();
var HospitalsIds = HospitalsDataViewResult.AsEnumerable();
var HospitalsIdsWithComa = string.Join(",", HospitalsIds.Select(r => r.Field<int>(0)));
(b) In condition
--------------------------------------------------------------------------------------
HospitalsXSpecialtiesDataView.RowFilter = "HospitalId IN(" + HospitalsIdsWithComa + ")";
DataTable HospitalsXSpecialtiesDataViewResult = HospitalsXSpecialtiesDataView.ToTable();
var SpecialitiesID = HospitalsXSpecialtiesDataViewResult.AsEnumerable().Select(r => r.Field<int>(1)).Distinct();
HospitalXSpecialitiesIDWithComa = string.Join(",", SpecialitiesID);
(c)Like condition
--------------------------------------------------------------------------------------
string withSearchTestStart = string.Format("Name LIKE '{0}%'", Searchtext);
DataView ResponseStartSearchText = new DataView(Response);
ResponseStartSearchText.RowFilter = withSearchTestStart;
ResponseStartSearchText.Sort = "Type";
DataTable ResultSerWithStartSerchText = ResponseStartSearchText.ToTable();
string withSearchTestNotStart = string.Format("Name NOT LIKE '{0}%'", Searchtext);
DataView ResponseNotSearchText = new DataView(Response);
ResponseNotSearchText.RowFilter = withSearchTestNotStart;
DataTable ResultNotStartSerchText = ResponseNotSearchText.ToTable();
(2)Create new datatable
===============================================================
DataTable Response = new DataTable() { TableName = "resultset" };
DataColumn[] columns ={
new DataColumn("Id", typeof(String)),
new DataColumn("Name", typeof(String)),
new DataColumn("Type",typeof(String)),
new DataColumn("Ex",typeof(String)),
};
Response.Columns.AddRange(columns);
(3)Assign one datatable values to another datatble
================================================================
DataTable HealthCheckDataViewResult = HealthCheckDataView.ToTable();
foreach (DataRow dr in HealthCheckDataViewResult.Rows)
{
Response.Rows.Add(dr.ItemArray);
}
==========================================================
DataTable HospitalsData = new DataTable();
DataView HospitalsDataView = new DataView(HospitalsData);
(a)where condition
---------------------------------------------------------------------------------------
string HospitalFilterWithCity = string.Format("Ex={0}", CityID);
HospitalsDataView.RowFilter = HospitalFilterWithCity;
DataTable HospitalsDataViewResult = HospitalsDataView.ToTable();
var HospitalsIds = HospitalsDataViewResult.AsEnumerable();
var HospitalsIdsWithComa = string.Join(",", HospitalsIds.Select(r => r.Field<int>(0)));
(b) In condition
--------------------------------------------------------------------------------------
HospitalsXSpecialtiesDataView.RowFilter = "HospitalId IN(" + HospitalsIdsWithComa + ")";
DataTable HospitalsXSpecialtiesDataViewResult = HospitalsXSpecialtiesDataView.ToTable();
var SpecialitiesID = HospitalsXSpecialtiesDataViewResult.AsEnumerable().Select(r => r.Field<int>(1)).Distinct();
HospitalXSpecialitiesIDWithComa = string.Join(",", SpecialitiesID);
(c)Like condition
--------------------------------------------------------------------------------------
string withSearchTestStart = string.Format("Name LIKE '{0}%'", Searchtext);
DataView ResponseStartSearchText = new DataView(Response);
ResponseStartSearchText.RowFilter = withSearchTestStart;
ResponseStartSearchText.Sort = "Type";
DataTable ResultSerWithStartSerchText = ResponseStartSearchText.ToTable();
string withSearchTestNotStart = string.Format("Name NOT LIKE '{0}%'", Searchtext);
DataView ResponseNotSearchText = new DataView(Response);
ResponseNotSearchText.RowFilter = withSearchTestNotStart;
DataTable ResultNotStartSerchText = ResponseNotSearchText.ToTable();
(2)Create new datatable
===============================================================
DataTable Response = new DataTable() { TableName = "resultset" };
DataColumn[] columns ={
new DataColumn("Id", typeof(String)),
new DataColumn("Name", typeof(String)),
new DataColumn("Type",typeof(String)),
new DataColumn("Ex",typeof(String)),
};
Response.Columns.AddRange(columns);
(3)Assign one datatable values to another datatble
================================================================
DataTable HealthCheckDataViewResult = HealthCheckDataView.ToTable();
foreach (DataRow dr in HealthCheckDataViewResult.Rows)
{
Response.Rows.Add(dr.ItemArray);
}
No comments:
Post a Comment