【发布时间】:2021-06-10 14:08:23
【问题描述】:
我正在尝试使用机器人框架在 Teams 上以表格格式显示数据。
首先,我在this example 之后使用了自适应卡。它工作正常,但是当项目变得如此多时,不支持滚动条(垂直和水平)。
我后来编写了一个 HTML 表格作为字符串并将其传递给活动文本。这非常有效,但不适用于大型数据集。我收到错误:请求实体太大。
请问我该如何解决?
public static string ConvertToHTMLString(DataTable dt)
{
StringBuilder sb = new StringBuilder();
sb.Append("<table style='border-collapse: collapse;font-family: Arial, Helvetica, sans-serif; width: 100%;'>");
sb.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<th style='border: 1px solid #ddd; padding: 8px;padding-top: 12px;padding-bottom: 12px;text-align: left;background-color: #4CAF50;color: white;'>" + column.ColumnName + "</th>");
}
sb.Append("</tr>");
foreach (DataRow row in dt.Rows)
{
sb.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<td style='border: 1px solid #ddd; padding: 8px;'>" + row[column.ColumnName].ToString() + "</td>");
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, ancellationToken cancellationToken)
{
var activity = Activity.CreateMessageActivity();
activity.TextFormat = "XML";
activity.Text = ConvertToHTMLString();
await turnContext.SendActivityAsync(activity, cancellationToken);
}
【问题讨论】:
标签: c# html-table botframework microsoft-teams adaptive-cards