Рейтинг:
5
Karthik_Mahalingam
Цитата:
Я хочу изменить ширину первого столбца, который динамически генерируется из базы данных с помощью string builder sp.append
for (int i = 0; i < dt2.Columns.Count; i++)
{
string width = i == 0 ? "'50%'" : "'20%'"; // first column will be 50% and others 20%
sb.Append("<th width=" + width+" style = 'background-color: #e7e7e7;color:#000000'>");
sb.Append(dt2.Columns[i].ColumnName);
sb.Append("</th>");
}
Anuj Mehta
Тот же выход, никаких изменений в моей ширине,
это не работает, пожалуйста, дайте мне любое другое предложение .
Karthik_Mahalingam
покажите свой полный код.
попробую повторить
Karthik_Mahalingam
зачем публиковать и удалять его?
Anuj Mehta
потому что значение между <" "> не отображается.
Karthik_Mahalingam
используйте предварительную метку
Anuj Mehta
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
StringBuilder sb = new StringBuilder();
//Generate Invoice (Bill) Header.
sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
sb.Append("<table style='width:10px;' border = '1'>");
sb.Append("<tr>");
for (int i = 0; i < dt2.Columns.Count; i++)
{
string width = i == 0 ? "'50%'" : "'20%'"; // first column will be 50% and others 20%
sb.Append("<th width=" + width + " style = 'background-color: #e7e7e7;color:#000000'>");
sb.Append(dt2.Columns[i].ColumnName);
sb.Append("</th>");
}
sb.Append("</tr>");
foreach (DataRow row in dt2.Rows)
{
sb.Append("<tr>");
foreach (DataColumn column in dt2.Columns)
{
sb.Append("<td style='width:80px;'>");
sb.Append(row[column]);
sb.Append("</td>");
}
sb.Append("</tr>");
}
sb.Append("<tr colspan = '5' rowspan ='3'>");
sb.Append("<td align='center'>");
sb.Append(objPurchaseOrderBO.TotalInWord);
sb.Append("</td>");
sb.Append("<th colspan = '3'> Total TAX");
sb.Append("</th>");
sb.Append("<td>");
sb.Append(totalTaxValue.Text);
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
//Export HTML String as PDF.
StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A3, 40f, 40f, 20f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(pdfDoc);
Response.End();
}
}
Karthik_Mahalingam
вы экспортируете в pdf-файл?
Anuj Mehta
да экспортировав ее в PDF
Karthik_Mahalingam
но в td вы устанавливаете ширину
СБ.Добавить("");
сделать его равномерным по
Anuj Mehta
я попробовал его, но он не работает.
Karthik_Mahalingam
можете ли вы опубликовать его скриншот
Anuj Mehta
sb.Append("<table style='width:10px;' border = '1'>");
sb.Append("<tr>");
//foreach (DataColumn column in dt2.Columns)
//{
// sb.Append("<th style = 'width:40%;background-color: #e7e7e7;color:#000000'>");
// sb.Append(column.ColumnName);
// sb.Append("</th>");
//}
for (int i = 0; i < dt2.Columns.Count; i++)
{
string width = i == 0 ? "'50%'" : "'20%'"; // first column will be 50% and others 20%
sb.Append("<th width=" + width + " style = 'background-color: #e7e7e7;color:#000000'>");
sb.Append(dt2.Columns[i].ColumnName);
sb.Append("</th>");
}
sb.Append("</tr>");
foreach (DataRow row in dt2.Rows)
{
sb.Append("<tr>");
foreach (DataColumn column in dt2.Columns)
{
for (int i = 0; i < dt2.Rows.Count; i++)
{
string width = i == 0 ? "'50%'" : "'20%'";
sb.Append("<td width=" + width + ">");
sb.Append(row[column]);
sb.Append("</td>");
}
}
sb.Append("</tr>");
}
sb.Append("</table>");
Karthik_Mahalingam
это работает?>
Anuj Mehta
not working sir plzz check screenshot hear
http://websitedevelopervadodara.blogspot.in/2017/10/change-width-of-product-description-hsn.html
Karthik_Mahalingam
похоже, он принимает равную ширину.
попробуйте дать его в пикселях
Anuj Mehta
thank you very much its working using your code
for (int i = 0; i < dt2.Columns.Count; i++)
{
string width = i == 0 ? "2" : "1"; // first column will be 50% and others 20%
sb.Append("<td colspan=" + width + " rowspan='0' style = 'background-color: #e7e7e7;color:#000000'>");
sb.Append(dt2.Columns[i].ColumnName);
sb.Append("</td>");
}
Рейтинг:
1
OriginalGriff
Таблицы данных, потоки данных и DataColumns не имеют никакой ширины или высоты - они не представлены непосредственно пользователю и не имеют пользовательского интерфейса - ширина и высота имеют отношение только к элементам управления презентацией, которые отображают содержащиеся в них данные.
В этом случае вы используете HTML-таблицы для отображения ваших данных, поэтому вы (правильно) используете th width
настройка, но у вас неправильный формат: В HTML-е ширина атрибута[^] - этот 20%
должно быть в двойных кавычках:
sb.Append("<th width=\"20%\" style = 'background-color:...
Или включен в CSS
style
:
sb.Append("<th style='width:20%;background-color:...