[NO PARSE]Всем доброго дня.
У меня возникла такая сложность есть Datagridview в который происходит отгрузка и связка из двух таблиц БД.
далее при экспорте этих данных в заранее подготовленный шаблон документа Word у меня начиная со строки сразу после заголовка таблицы все строки белые.
Вопрос: как можно в C# сделать что бы в строке у которой в первом столбце таблице указаны какие либо данные/или текст был изменен цвет, например серый цвет.[/NO PARSE]
Код:
private void button1_Click(object sender, EventArgs e)
{
try
{
Word.Application wordapp = new Word.Application();
wordapp.Visible = true;
Object template = "Путь к шаблону\\Sheet_model.docx";
Object newTemplate = false;
Object documentType = Word.WdNewDocumentType.wdNewBlankDocument;
Object visible = true;
Word._Document worddoc;
//Создаем документ
worddoc = wordapp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
Object bookmarkNameObj = "FIO";
Word.Range bookmarkRange = null;
bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range;
bookmarkRange.Text = comboBox1.Text;
bookmarkNameObj = "dt_begin";
bookmarkRange = null;
bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range;
bookmarkRange.Text = dateTimePicker1.Text;
bookmarkNameObj = "dt_end";
bookmarkRange = null;
bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range;
bookmarkRange.Text = dateTimePicker2.Text;
bookmarkNameObj = "CheckTypes";
bookmarkRange = null;
bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range;
bookmarkRange.Text = comboBox2.Text;
bookmarkNameObj = "table";
bookmarkRange = null;
bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range;
Object behiavor = Word.WdDefaultTableBehavior.wdWord9TableBehavior;
Object autoFitBehiavor = Word.WdAutoFitBehavior.wdAutoFitFixed;
int columns = 4;
int rows = dataGridView1.RowCount + 1;
worddoc.Tables.Add(bookmarkRange, rows, columns, ref behiavor, ref autoFitBehiavor);
worddoc.Tables[1].Cell(1, 1).Range.Text = "Дата заказа";
worddoc.Tables[1].Cell(1, 1).Range.Bold = 1;
worddoc.Tables[1].Cell(1, 1).Range.Font.Size = 12;
worddoc.Tables[1].Cell(1, 1).Range.Shading.BackgroundPatternColor = WdColor.wdColorGray10;
worddoc.Tables[1].Cell(1, 2).Range.Text = "Наименование заказа";
worddoc.Tables[1].Cell(1, 2).Range.Bold = 1;
worddoc.Tables[1].Cell(1, 2).Range.Font.Size = 12;
worddoc.Tables[1].Cell(1, 2).Range.Shading.BackgroundPatternColor = WdColor.wdColorGray10;
worddoc.Tables[1].Cell(1, 3).Range.Text = "Тип заказа";
worddoc.Tables[1].Cell(1, 3).Range.Bold = 1;
worddoc.Tables[1].Cell(1, 3).Range.Font.Size = 12;
worddoc.Tables[1].Cell(1, 3).Shading.BackgroundPatternColor = WdColor.wdColorGray10;
worddoc.Tables[1].Cell(1, 4).Range.Text = "Описание заказа";
worddoc.Tables[1].Cell(1, 4).Range.Bold = 1;
worddoc.Tables[1].Cell(1, 4).Range.Font.Size = 12;
worddoc.Tables[1].Cell(1, 4).Range.Shading.BackgroundPatternColor = WdColor.wdColorGray10;
worddoc.Tables[1].Rows[1].Alignment = Word.WdRowAlignment.wdAlignRowCenter;
worddoc.Tables[1].Range.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
//толщина контура таблицы
worddoc.Tables[1].Borders.OutsideLineWidth = Word.WdLineWidth.wdLineWidth150pt;
//worddoc.Tables[1].Cell(1, 4).Width = 200;
//worddoc.Tables[1].Columns[5].Delete();
for (int j = 0; j < rows - 1; j++)
{
for (int i = 1; i < columns + 1; i++)
{
//worddoc.Tables[1].Cell(j + 2, i + 0).Range.Text = dataGridView1[i, j].Value.ToString();
worddoc.Tables[1].Cell(j + 2, i).Range.Text = dataGridView1[i, j].Value.ToString();
}
for (int s = 0; s == rows; s++)
{
worddoc.Tables[1].Columns[1].Shading.BackgroundPatternColor = WdColor.wdColorAqua;
}
}
wordapp.Visible = true;
}
catch (Exception ex)
{
MessageBox.Show("" + ex);
}
}
а там где в первом столбце таблицы записи отсутствуют цвет оставался белый (см. скриншот)