Таким образом, вы можете найти строку с помощью некоторых критериев, например, вы можете найти свой первый проверили ряд:
var firstCheckedRow = this.myDataGridView.Rows.Cast<DataGridViewRow>()
.Where(row => (bool?)row.Cells["MyCheckBoxColumn"].Value == true)
.FirstOrDefault();
Таким образом, вы можете получить значение все клетки подряд, например, вы можете поместить тему вместе в строке в разных строках:
var builder = new StringBuilder();
firstCheckedRow.Cells.Cast<DataGridViewCell>()
.ToList().ForEach(cell =>
{
builder.AppendLine(string.Format("{0}", cell.Value));
});
Затем вы можете, например, показать им:
MessageBox.Show (builder.ToString());
Или вы можете положить PrintDocument
на свою форму и обработать сообщение PrintPage
, чтобы распечатать их на принтере. Вы также должны поставить Button
на форму и события нажатия кнопки, вызовите PrintDocument1.Print();
Код:
private void Button1_Click(object sender, EventArgs e)
{
PrintDocument1.Print();
}
PrintDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
var firstCheckedRow = this.myDataGridView.Rows.Cast<DataGridViewRow>()
.Where(row => (bool?)row.Cells["MyCheckBoxColumn"].Value == true)
.FirstOrDefault();
var builder = new StringBuilder();
firstCheckedRow.Cells.Cast<DataGridViewCell>()
.ToList().ForEach(cell =>
{
builder.AppendLine(string.Format("{0}", cell.Value));
});
e.Graphics.DrawString(builder.ToString(),
this.myDataGridView.Font,
new SolidBrush(this.myDataGridView.ForeColor),
new RectangleF(0, 0, p.DefaultPageSettings.PrintableArea.Width, p.DefaultPageSettings.PrintableArea.Height));
}
оба на первом в том, как получить значение из выбранной строки и установлен в массив или список, и после того, как сделать цикл на всех полученных значениях и распечатать их! –