哇哇
成员
- 已加入
- 2019年11月9日
- 留言内容
- 16
- 编程经验
- Beginner
嗨,所以我不得不做一个要从文本文件(名称,性别,bDay等)中获取数据的应用程序,并将其加载到dataGridView表中。另外要补充的是,仅需要加载3个按钮(女性,男性或比* set age *年龄大的任何人)。
我几乎做了我需要的事情,但是每个按钮每次都必须读取该文件。因此,我想知道如何才能一次读取该文件,然后将按钮保留为仅用作设置数据的过滤器?
提前致谢!
我几乎做了我需要的事情,但是每个按钮每次都必须读取该文件。因此,我想知道如何才能一次读取该文件,然后将按钮保留为仅用作设置数据的过滤器?
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Nuskaityti moterys
private void button1_Click(object sender, EventArgs e)
{
string systemPath = System.IO.Directory.GetCurrentDirectory() + @"\txt1.txt";
using (var streamReader = new System.IO.StreamReader(systemPath))
{
dataGridView1.Rows.Clear();
while (!streamReader.EndOfStream)
{
string line = streamReader.ReadLine();
string[] values = line.Split('\t');
for (int i=0; i<values.Length; i++)
{
string[] rez = values[i].Split(',');
rez[2] = rez[2].Trim();
if (rez[2].ToString() == "Moteris")
{
int rowIndex = dataGridView1.Rows.Add();
dataGridView1.Rows[rowIndex].Cells["Column1"].Value = rez[0];
dataGridView1.Rows[rowIndex].Cells["Column2"].Value = rez[1];
dataGridView1.Rows[rowIndex].Cells["Column3"].Value = rez[2];
dataGridView1.Rows[rowIndex].Cells["Column4"].Value = rez[3];
dataGridView1.Rows[rowIndex].Cells["Column5"].Value = rez[4];
dataGridView1.Rows[rowIndex].Cells["Column6"].Value = rez[5];
}
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
string systemPath = System.IO.Directory.GetCurrentDirectory() + @"\txt1.txt";
using (var streamReader = new System.IO.StreamReader(systemPath))
{
dataGridView1.Rows.Clear();
while (!streamReader.EndOfStream)
{
string line = streamReader.ReadLine();
string[] values = line.Split('\t');
for (int i = 0; i < values.Length; i++)
{
string[] rez = values[i].Split(',');
rez[2] = rez[2].Trim();
if (rez[2].ToString() == "Vyras")
{
int rowIndex = dataGridView1.Rows.Add();
dataGridView1.Rows[rowIndex].Cells["Column1"].Value = rez[0];
dataGridView1.Rows[rowIndex].Cells["Column2"].Value = rez[1];
dataGridView1.Rows[rowIndex].Cells["Column3"].Value = rez[2];
dataGridView1.Rows[rowIndex].Cells["Column4"].Value = rez[3];
dataGridView1.Rows[rowIndex].Cells["Column5"].Value = rez[4];
dataGridView1.Rows[rowIndex].Cells["Column6"].Value = rez[5];
}
}
}
}
}
private void button3_Click(object sender, EventArgs e)
{
string systemPath = System.IO.Directory.GetCurrentDirectory() + @"\txt1.txt";
using (var streamReader = new System.IO.StreamReader(systemPath))
{
dataGridView1.Rows.Clear();
while (!streamReader.EndOfStream)
{
string line = streamReader.ReadLine();
string[] values = line.Split('\t');
for (int i = 0; i < values.Length; i++)
{
string[] rez = values[i].Split(',');
string date;
date = rez[5].Replace("-", "");
int today = int.Parse(DateTime.UtcNow.ToString("yyyyMMdd"));
int bDay = int.Parse(date);
int age = (today - bDay) / 10000;
int filterDate = Convert.ToInt32(textBox1.Text);
if (age >= filterDate)
{
int rowIndex = dataGridView1.Rows.Add();
dataGridView1.Rows[rowIndex].Cells["Column1"].Value = rez[0];
dataGridView1.Rows[rowIndex].Cells["Column2"].Value = rez[1];
dataGridView1.Rows[rowIndex].Cells["Column3"].Value = rez[2];
dataGridView1.Rows[rowIndex].Cells["Column4"].Value = rez[3];
dataGridView1.Rows[rowIndex].Cells["Column5"].Value = rez[4];
dataGridView1.Rows[rowIndex].Cells["Column6"].Value = rez[5];
}
}
}
}
}
}
}
提前致谢!