В приложение, написанное давным-давно, потребовался другой столбец существующего datagridview с текущим временем сверления. Эти времена происходят из файла, который читает и запускает компьютер. Ниже приведен пример файла.Чтение в список и выбор определенных номеров
Теперь цифры там ищут те, с S. Теперь самое первое число это номер строки. Номер строки также должен быть захвачен, так как время должно совпадать с линией. Поэтому я должен прочитать это в списке, захватить номер строки, а затем связанный «s» номер времени. Я добавлю эти «временные» значения в существующую таблицу, у которой уже есть номера строк, поэтому я добавлю эти «раз» в новый столбец рядом с соответствующим номером строки. Я немного застрял здесь.
Любая помощь приветствуется.
Я знаю, что я могу читать все, что в, как этот
string f = ("//dnc/WJ/MTI-WJ/" + cboPartProgram.Text);
List<string> lines = new List<string>();
using (StreamReader r = new StreamReader(f))
{
// Use while != null pattern for loop
string line;
while ((line = r.ReadLine()) != null)
{
lines.Add(line);
}
}
Но однажды в списке мне нужно игнорировать строки, которые начинаются с апострофа «'», а затем взять только первый номер строки "1, 2 , 3 "и т. Д., Как бы там ни было много, а затем число« s »этой строки.
Так что я остался с:
1 2.75
2 2.5
3 2
... и т.д.
Теперь в базе данных есть таблица программ. с колоннами
Program Line Time
Program1 1
Program1 2
Program1 3
Program1 4
и т.д.
Так время будет добавлено к времени столбца существующей таблицы «s». Но время «s», взятое из строки 1,2,3,4 и т. Д., Будет совпадать с столбцом строки таблицы.
Таким образом, конечный конечный результат в этом примере будет
Program Line Time
Program1 1 2.75
Program1 2 2.5
Program1 3 2
UPDATE
Я не уверен, если отредактированный код для покрытия линии ж/из STIME работать еще и потому, Недавно я столкнулся с проблемой. Существует datagridview, который заполняет столбцы из списка, заполненного из оператора sql. Я добавил столбец для sTime (оказывается, мне может не понадобиться строка #, поэтому вы заметите, что я удалил это), однако мне нужно включить мой цикл из sTime в цикл, который встречается для списка, который также заполняется dgv. Теперь я попытался включить это в несколько разных способов, однако то, что происходит, является либо самым последним sTime, которое используется для всех 80 записей dgv (как показано в примере ниже), или если я перемещаю «}» скобки вокруг некоторых и объединить их, то использует первое sTime для создания 80 записей dgv, затем 2-го sTime для создания 80 записей dgv. Таким образом, вместо 80 записей в dgv с каждым отдельным sTime рядом с ним вы получаете 6 400 записей в dgv 80x80. поэтому я не уверен, как объединить эти 2 для работы.
var sLines = File.ReadAllLines("//dnc/WJ/MTI-WJ/" + cboPartProgram.Text)
.Where(s => !s.StartsWith("'"))
.Select(s => new
{
SValue = Regex.Match(s, "(?<=S)[\\d.]*").Value
})
.ToArray();
string lastSValue = "";
foreach (var line in sLines)
{
string val = line.SValue == string.Empty ? lastSValue : line.SValue;
lastSValue = val;
}
foreach (WjDwellOffsets offset in dwellTimes)
{
origionalDwellOffsets.Add(offset.dwellOffset);
dgvDwellTimes.Rows.Add(new object[] { offset.positionId, lastSValue, offset.dwellOffset, 0, offset.dwellOffset, "Update", (offset.dateTime > new DateTime(1900, 1, 1)) ? offset.dateTime.ToString() : "" });
DataGridViewDisableButtonCell btnCell = ((DataGridViewDisableButtonCell)dgvDwellTimes.Rows[dgvDwellTimes.Rows.Count - 1].Cells[5]);
btnCell.Enabled = false;
}
В чем вопрос? Где ваш код? Вы пробовали * что-нибудь? * – Abion47
, если вы пробовали что-нибудь, пожалуйста, напишите код ... –
Ну, вот вопрос, как начать действительно. Это не похоже на то, что я ничего не имею, кроме как просто показывает, как я выгляжу так, как я чувствую. Я не уверен, должен ли я читать все в списке? Или, если я должен прочитать только номер строки, тогда прочитайте номер «s» в? Обычно я не работаю с файлами/кодом, поэтому я не знаю, с чего начать. Человек, который работал над этим материалом, ушел, и он упал на моем столе. – Lee