C# 基于文本框值筛选数据表/数据集 受保护的无效页面加载(对象发送方,事件参数e) { 字符串StartDate=Date3.Text; 字符串Enddate=Date4.Text; ds=objBLL.GetUser(ItemType,ItemStatus); dt=ds.表[0]; 如果(起始日期!=null) { 从数据表dt中筛选记录,以便 参与开始日期>开始日期“; } 如果(Enddate!=null) { 从数据表dt中筛选记录,以便 参与者结束日期开始日期 和参与EndDatestartdate 如果enddate(date4.text)不为空,则datatable应提供记录,以便ParticipationEndDate=”+新日期时间(2011,10,15,23,22,4,5)+“”; rpt.DataSource=dt.DefaultView; rpt.DataBind();
ParticipationStartDate、ParticipationEndDate是数据表中的一列。 startdate和enddate是aspx中的文本框字段。 这就是我想做的。 如果startdate(date3.text)不为空,那么datatable应该给出这样的记录:ParticipationStartDate>startdateC# 基于文本框值筛选数据表/数据集 受保护的无效页面加载(对象发送方,事件参数e) { 字符串StartDate=Date3.Text; 字符串Enddate=Date4.Text; ds=objBLL.GetUser(ItemType,ItemStatus); dt=ds.表[0]; 如果(起始日期!=null) { 从数据表dt中筛选记录,以便 参与开始日期>开始日期“; } 如果(Enddate!=null) { 从数据表dt中筛选记录,以便 参与者结束日期开始日期 和参与EndDatestartdate 如果enddate(date4.text)不为空,则datatable应提供记录,以便ParticipationEndDate=”+新日期时间(2011,10,15,23,22,4,5)+“”; rpt.DataSource=dt.DefaultView; rpt.DataBind();,c#,asp.net,C#,Asp.net,ParticipationStartDate、ParticipationEndDate是数据表中的一列。 startdate和enddate是aspx中的文本框字段。 这就是我想做的。 如果startdate(date3.text)不为空,那么datatable应该给出这样的记录:ParticipationStartDate>startdate 如果enddate(date4.text)不为空,则datatable应提供记录,以便ParticipationEndDate=”+新日期时间(2011
如果enddate(date4.text)不为空,则datatable应提供记录,以便ParticipationEndDate
protected void Page_Load(object sender, EventArgs e)
{
string StartDate = Date3.Text;
string Enddate = Date4.Text;
ds = objBLL.GetUser(ItemType, ItemStatus);
dt = ds.Tables[0];
if (StartDate != null)
{
Filter records from datatable dt in such a way that
ParticipationStartDate > startDate");
}
if (Enddate != null)
{
Filter records from datatable dt in such a way that
ParticipationEndDate < EndDate
}
if(StartDate!=null && Enddate!= null)
{
i need to filter records from datatable such that
ParticipationStartDate > StartDate
and ParticipationEndDate < EndDate
}
}
GridView1.DataSource = dt; dt is the filtered datatable
GridView1.DataBind();
}
然后:
样本输出:
GridView1.DataSource = dt.DefaultView; //note that you bind to DefaultView, not Datatable
GridView1.DataBind();
DataTable dt=newdatatable();
dt.列。添加(“名称”);
添加(“目录名称”);
添加(“CreationTime”);
对于(int i=0;i<10;i++)
{
DataRow r=dt.NewRow();
r、 ItemArray=newobject[]{“Name”+i,“Directory”+i,newdatetime(2011,10,15,23,22,i,0)};
dt.行。加(r);
}//用10行填充数据表。创建时间人为设置
//将过滤器设置为创建时间>=2011/10/15 23小时22米4秒
dt.DefaultView.RowFilter=“CreationTime>=”+新日期时间(2011,10,15,23,22,4,5)+“”;
rpt.DataSource=dt.DefaultView;
rpt.DataBind();
在筛选的数据表上仅生成6条记录:
您可以使用DataTable.DefaultView功能进行筛选。例如:
protected void Page_Load(object sender, EventArgs e)
{
string StartDate = Date3.Text;
string Enddate = Date4.Text;
ds = objBLL.GetUser(ItemType, ItemStatus);
dt = ds.Tables[0];
if (StartDate != null)
{
Filter records from datatable dt in such a way that
ParticipationStartDate > startDate");
}
if (Enddate != null)
{
Filter records from datatable dt in such a way that
ParticipationEndDate < EndDate
}
if(StartDate!=null && Enddate!= null)
{
i need to filter records from datatable such that
ParticipationStartDate > StartDate
and ParticipationEndDate < EndDate
}
}
GridView1.DataSource = dt; dt is the filtered datatable
GridView1.DataBind();
}
然后:
样本输出:
GridView1.DataSource = dt.DefaultView; //note that you bind to DefaultView, not Datatable
GridView1.DataBind();
DataTable dt=newdatatable();
dt.列。添加(“名称”);
添加(“目录名称”);
添加(“CreationTime”);
对于(int i=0;i<10;i++)
{
DataRow r=dt.NewRow();
r、 ItemArray=newobject[]{“Name”+i,“Directory”+i,newdatetime(2011,10,15,23,22,i,0)};
dt.行。加(r);
}//用10行填充数据表。创建时间人为设置
//将过滤器设置为创建时间>=2011/10/15 23小时22米4秒
dt.DefaultView.RowFilter=“CreationTime>=”+新日期时间(2011,10,15,23,22,4,5)+“”;
rpt.DataSource=dt.DefaultView;
rpt.DataBind();
在筛选的数据表上仅生成6条记录: