隐藏 row if column 4 or every row is (date < datenow)

已加入
2014年3月19日
留言内容
1
编程经验
5-10
我只想在该行的startdate列包含以下语句的情况下隐藏该行(startdate<现在)。它删除了,但只有1行,如果有声明,我想删除所有行(dtartdate<表示满意)。但是我总是遇到错误。请帮助我。...我非常需要这个。在此先感谢您,我为我的英语致歉。

C#:
void LoadSource()        {
            //string dateInString = Convert.ToString(Convert.ToDateTime(_dr[4]));
            //string dateInString = Convert.ToString(Convert.ToDateTime(RaDate));
            
            //DateTime startdate = DateTime.Parse(dateInString);
            //DateTime datelimit = startdate.AddDays(90);
            //int counter = 0;
            _fd = new FinancialData();
            if (cboType.SelectedIndex == 0) //&& DateTime.Now > datelimit)
                        grdDetails.DataSource = _fd.RetrievePayments();
            DataTable _dtPayment = _fd.RetrievePayments();
            if (grdDetails.DataSource == null)
            {
                MessageBox.Show("sample");
            }
            else
            {
                MessageBox.Show("smple");
            }
            string item = grdDetails[grdDetails.CurrentCell.ColumnIndex,
grdDetails.CurrentCell.RowIndex].Value.ToString();
            if (item != null)
            {
                int di = 0;
                int id = Convert.ToInt32(grdDetails[di, grdDetails.CurrentCell.RowIndex].Value);
                foreach (DataRow _dr in _dtPayment.Rows)
                {
                    var now = DateTime.Now;
                    if (DateTime.Parse(_dr[4].ToString()) < now)
                    {
                        this.grdDetails.Rows[id].Visible = false;
                    }
                    id++;
                    di++;
                }
            }
            
            MessageBox.Show(grdDetails.DataSource);
            else if (cboType.SelectedIndex == 1)// && DateTime.Now > datelimit)
                grdDetails.DataSource = _fd.RetrieveRemittanceAdvices();
            else
                grdDetails.DataSource = null;
        
        }

或者,如果您可以重新编写我的整个代码,那么谢谢...。请帮助我...
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,501
地点
悉尼,澳大利亚
编程经验
10+
首先,排什么?它看起来像是代码中的DataGridView,但我们不必从代码中得出结论。您应该提供完整和清晰的说明。

当我们处于清晰描述的主题时,您的标题说"hide"但您在帖子中说"delete". They are two very different things. Again, it looks like you want to 隐藏 the rows from the code but we shouldn't have to work out what you want to do from code that you yourself say doesn't actually do what you want.

从代码中可以看出,您真正想要的是隐藏DataGridView中的数据来自数据表的行。在这种情况下,您应该在查询中使用WHERE子句以排除您不想首先查看的记录,或者如果不合适,请使用BindingSource的Filter属性。无论哪种方式,填充您的DataTable,将其绑定到BindingSource,然后将其绑定到网格。然后,您可以设置该BindingSource的Filter属性,并且仅显示与指定条件匹配的行。
 
最佳 底部