gpt4 book ai didi

c# - 在 GridView 中使用自动生成的列提取列数和标题文本

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:13 25 4
gpt4 key购买 nike

我正在重写我团队的主要库中的一个函数,其中一个函数是将 Gridview 导出到 Excel 电子表格。我已经有了将 DataSet 导出到 Excel 的功能,所以我需要做的就是将 gridview 转换为 DataSet。没问题吧?一切都很好,直到我发现 GridView 对象的列收集为空并且在使用自动生成的列时标题文本为空。

我知道 MS 已经说过您放弃了 gridview 如何呈现该数据,但我找不到任何可以显示我如何捕获列集合的内容。我希望这个库尽可能灵活。

这是我现在的功能......

public static MemoryStream GridViewToXLSX(GridView Gridview, Options options = null)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();


for (int i = 0; i < Gridview.Columns.Count; i++)
{
dt.Columns.Add(Gridview.Columns[i].HeaderText);
}
foreach (GridViewRow row in Gridview.Rows)
{
DataRow dr = dt.NewRow();
for (int j = 0; j < Gridview.Columns.Count; j++)
{
dr[Gridview.Columns[j].HeaderText] = row.Cells[j].Text;
}

dt.Rows.Add(dr);
}

ds.Tables.Add(dt);

return DataSetToXLSX(ds, options);
}

最佳答案

Alternatively you can try this sample code, instead of Column.count, you can count the number of cells in the HeaderRow of the GridView.

这只是一个示例,不是实际代码

GridViewRow headerRow = gv.HeaderRow; 
int count = headerRow.Cells.Count

关于c# - 在 GridView 中使用自动生成的列提取列数和标题文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26637031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com