Я не могу удалить указанную c строку в datagridview c#. net - PullRequest
0 голосов
/ 11 марта 2020

У меня есть программа, которая загружает текстовый файл в сетку данных, но первая строка файла - это имя его столбцов, я хочу удалить эту строку. См. Файл примера:

Нет TMNo Имя EnNo GMNo Режим Вход / выход Antipass ProxyWork DateTime

1 1 00000001 admin 1 Hue DutyOn 0 0 2019-12-18 00: 24: 05

2 1 00000002 18425444 1 Cara DutyOff 0 0 2019-12-17 16: 12: 43

В программе я разделил данные, попробую все, спросил:

 `if(dgv[0,i/*(for previous... i ...)*/].value.tostring()=="EnNo")`

    {
    dgv.rows.removeat(i);
    }

и т. Д. 1023 * и т. Д. 1024 *

какая-то идея? ty

резюме: я хочу удалить строку, которая имеет другой формат

я использую этот код:

btnExportarExcel.Enabled = true;
                string text;
                openFileDialog1.Title = "Abrir archivo";
                openFileDialog1.ShowDialog();
                text = openFileDialog1.FileName;

                var rows = new List<Cargar>();
                var sr = new StreamReader(text);


                while (!sr.EndOfStream)
                {
                    string s = sr.ReadLine();
                    if (!String.IsNullOrEmpty(s.Trim()))
                    {

                        rows.Add(new Cargar(s));

                    }
                }

                sr.Close();

                dataGridView1.DataSource = rows;

Cargar - класс внутри:

public class Cargar
        {
            public int USERID { get; set; }
            public string CHECKTIME { get; set; }
            public string CHECKTYPE { get; set; }
            public string VERIFYCODE { get; set; }
            public string SENSORID { get; set; }
            public string Memoinfo { get; set; }
            public string WorkCode { get; set; }
            public string sn { get; set; }
            public string UserExtFmt { get; set; }



            public Cargar(string str)
            {

                var pant = Form.ActiveForm as Form1;

                string[] separator = { "\t" };
                var arr = str.Split(separator, StringSplitOptions.None);
                DateTime Fecha;
                USERID =Convert.ToInt32( arr[2]);
                CHECKTYPE = arr[6];
                Fecha =Convert.ToDateTime( arr[9]);
                if (CHECKTYPE == "DutyOn")
                    CHECKTYPE = "I";
                else
                    CHECKTYPE = "O";

                CHECKTIME = Convert.ToString( Fecha);
                VERIFYCODE = "15";
                WorkCode = "0";
                UserExtFmt = "0";

            }



        }

1 Ответ

1 голос
/ 11 марта 2020

Почему бы просто не игнорировать строку заголовка при загрузке текстового файла ?? Вы можете сделать что-то вроде:

            var lines = File.ReadAllLines(file.FullName);
            for (int i = 0; i < lines.Count(); i++)
            {
                if (!lines[i].Contains("EnNo"))
                {
                    //import here
                }
            }

Связан ли ваш DGV? К чему именно, к данным?

Вы также можете сделать:

dgv.Rows[0].Visible = false;

edit --- Попробуйте это:

        btnExportarExcel.Enabled = true;
            string text;
            openFileDialog1.Title = "Abrir archivo";
            openFileDialog1.ShowDialog();
            text = openFileDialog1.FileName;

            var rows = new List<Cargar>();
            var sr = new StreamReader(text);


            while (!sr.EndOfStream)
            {
                string s = sr.ReadLine();
                if (!String.IsNullOrEmpty(s.Trim()) && !s.Contains("EnNo"))
                {

                    rows.Add(new Cargar(s));

                }
            }

            sr.Close();

            dataGridView1.DataSource = rows;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...