private void dataGridViewMessages_SelectionChanged(object sender, EventArgs e) { if (dataGridViewMessages.SelectedRows.Count > 1) { DataGridViewSelectedRowCollection sel = dataGridViewMessages.SelectedRows; int maxindex = int.MinValue; int minindex = int.MaxValue; foreach (DataGridViewRow dgr in sel) { maxindex = Math.Max(maxindex, dgr.Index + 1); minindex = Math.Min(minindex, dgr.Index + 1); } toolStripLabelPos.Text = string.Format("{0}...{1} ({2})/{3}", minindex, maxindex, sel.Count, dataGridViewMessages.Rows.Count); } else if (dataGridViewMessages.SelectedRows.Count == 1) { toolStripLabelPos.Text = string.Format("{0}/{1}", dataGridViewMessages.SelectedRows[0].Index + 1, dataGridViewMessages.Rows.Count); } else { toolStripLabelPos.Text = string.Format("{0}", dataGridViewMessages.Rows.Count); } try { DataSetNbuExplorer.MessageRow mr = ((DataRowView)dataGridViewMessages.SelectedRows[0].DataBoundItem).Row as DataSetNbuExplorer.MessageRow; textBoxMessage.Text = mr.messagetext.Replace("\n", "\r\n"); } catch { textBoxMessage.Text = ""; } }
private void dataGridViewMessages_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e) { try { DataGridViewRow row = dataGridViewMessages.Rows[e.RowIndex]; DataSetNbuExplorer.MessageRow mr = ((DataRowView)row.DataBoundItem).Row as DataSetNbuExplorer.MessageRow; if (mr.box == "O") { row.DefaultCellStyle.BackColor = Color.FromArgb(255, 230, 255); } else if (mr.box == "I") { row.DefaultCellStyle.BackColor = Color.FromArgb(230, 255, 255); } } catch { } }
private static void writeMessageInTextFormat(StreamWriter sw, DataSetNbuExplorer.MessageRow mr, bool formatCsv) { string msgdirection = ""; switch (mr.box) { case "I": msgdirection = "from"; break; case "O": msgdirection = "to"; break; } if (formatCsv) { sw.WriteLine(string.Format("{0};{1};{2};\"{3}\";\"{4}\"", mr.IstimeNull() ? "" : mr.time.ToString(), msgdirection, mr.number, (mr.name == mr.number) ? "" : mr.name.Replace("\"", "\"\""), mr.messagetext.Replace("\"", "\"\"") )); } else { if (!mr.IstimeNull()) { sw.Write(mr.time.ToString() + " "); } sw.Write(string.Format("{0} {1}", msgdirection, mr.number).TrimStart()); if (mr.name != mr.number) { sw.Write(" (" + mr.name + ")"); } if (!mr.IsnumberNull()) { sw.WriteLine(":"); } sw.WriteLine(mr.messagetext.TrimEnd()); sw.WriteLine(); } }