如果某些内容超过31天,则隐藏GridView行

问题描述 投票:0回答:1

我试图在我的GridView中隐藏一行,具体取决于日期是否超过31天。我现在可以找出哪些符合标准我在找到需要移除的东西之后很难从我的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的行。目前没有输出,但目前显示所有调试。

c# asp.net
1个回答
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;

        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.