如果超过31天,则隐藏GridView行

时间:2019-04-01 17:24:52

标签: c# asp.net

我要根据日期是否大于31天在GridView中隐藏行。在找到需要删除的内容后,我目前很难确定要从我的GridView删除它的条件。

此代码当前位于页面加载功能中:

foreach (GridViewRow row in GridView1.Rows)
{
    String Test = row.Cells[2].Text;
    Debug.WriteLine(Test);
    DateTime Date2 = Convert.ToDateTime(Test);
    Double Result = (Date2 - DateTime.Now).TotalDays;

    Debug.WriteLine(Result);

    if (Result < -32)
    {
        Debug.WriteLine("ahhhhhhhhhhhhhhhhhhhhhh");
        row.Visible = false;

    }  
}

我正在寻找隐藏任何返回值超过-31的行。当前没有输出,但是所有调试当前都显示。

1 个答案:

答案 0 :(得分:0)

  

以表格格式显示数据是您可能要完成的任务   经常执行。 DataGridView控件被设计为   使用Windows窗体显示表格数据的完整解决方案。的   DataGridView控件是高度可配置和可扩展的,并且它   提供许多属性,方法和事件以自定义其   外观和行为。

以下C#源代码手动创建DataGridView的列和行,并隐藏第二列和第二行。

dataGridView1.Rows[Index].Visible = false;

dataGridView1.Columns[Index].Visible = false;

示例****:

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.ColumnCount = 3;
            dataGridView1.Columns[0].Name = "Product ID";
            dataGridView1.Columns[1].Name = "Product Name";
            dataGridView1.Columns[2].Name = "Product Price";

            string[] row = new string[] { "1", "Product 1", "1000" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "2", "Product 2", "2000" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "3", "Product 3", "3000" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "4", "Product 4", "4000" };
            dataGridView1.Rows.Add(row);

            dataGridView1.Columns[1].Visible = false;
            dataGridView1.Rows[1].Visible = false;

        }
    }
}