Witam, Proszę o pomoc w znalezieniu koncepcji bądź Pomocy w napisaniu kodu.
Muszę napisać program do obróbki pliku .csv a mianowicie napisałem już kilka linii kodu dzięki czemu zaimportowałem dane z pliku .csv załadowałem do podglądu w datagridview usunąłem wiersze gdzie było puste pola w kolumnie nazwisko usunąłem zbędne kolumny . Ale mam problem z koncepcją jak wyciągnąć z tabeli 1 wiersz który ma tę samą datę i użytkownika i ostatni wiersz a te pośrodkowe usunąć potem od tego ostatniego pobrać godzinę i od 1 odjąć je żeby wyszło nam ile godzin minęło od 1 zdarzenia do ostatniego Kod jaki mam
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;
using System.IO;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataGridView dgv = new DataGridView();
DataTable dtt = new DataTable();
this.Size = new Size(1200, 700);
dgv.Size = new Size(1200, 700);
this.Controls.Add(dgv);
String[] datatext = File.ReadAllLines("mojplik.csv");
String[] text_data = null;
int x = 0;
foreach (string csvrow in datatext)
{
text_data = csvrow.Split(';');
if (x == 0)
{
for (int i = 0; i <= text_data.Count() - 1; i++)
{
dtt.Columns.Add(text_data[i]);
}
}
else
{
DataRow dtr = dtt.NewRow();
dtr.ItemArray = text_data;
dtt.Rows.Add(dtr);
}
x++;
}
dgv.DataSource = dtt;
dgv.Columns.Remove("Pusto");
dgv.Columns.Remove("Cholera Wie");
dgv.Columns.Remove("Cholera Wie1");
dgv.Columns.Remove("Cholera Wie2");
dgv.Columns.Remove("Cholera Wie4");
dgv.Columns.Remove("Cholera Wie5");
dgv.Columns.Remove("Cholera Wie6");
dgv.Columns.Remove("Cholera Wie10");
int j = 0;
// foreach(DataGridViewRow dr in dgv.Rows)
// {
// for(int i=0;i< (dgv.RowCount-1);i++){
// if (dr.Rows[i].Cells[i].Value == null )
// dgv.Rows[j].RemoveAt(i);
// }
// }
for (int i = dgv.Rows.Count - 1; i >= 0; i--)
{
DataGridViewRow dataGridViewRow = dgv.Rows[i];
foreach (DataGridViewCell cell in dataGridViewRow.Cells)
{
string val = cell.Value as string;
if (string.IsNullOrEmpty(val))
{
if (!dataGridViewRow.IsNewRow)
{
dgv.Rows.Remove(dataGridViewRow);
break;
}
}
}
}
}
}
}