ASP.NET GridView 列表 headers
ASP.NET GridView to List with headers
我想将我的 GridView 转换为一个列表,其中 headers 作为第一行。
这可以将我的 GridView 转换为列表而不 headers。
var Result = GridView.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<TableCell>().Select(c => c.Text).ToArray()).ToList();
我正在尝试用 headers 将其转换回来。
var myorgitem = GridView.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<TableCell>().ToDictionary(
c => ????????????????????, c => (c.Text ?? "").ToString())).ToList();
谢谢!
这暂时可行,但我希望它更短、更高效。这会将任何 Gridview 转换为以 headers 作为第一行的列表。
protected List<string[]> GridViewToList(GridView gv)
{
var mylist = gv.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<DataControlFieldCell>().Select(
c => c.ContainingField.HeaderText).ToArray()).ToList();
if (mylist.Count > 1)
mylist.RemoveRange(1, mylist.Count - 1);
mylist.AddRange(gv.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<DataControlFieldCell>().Select(c => c.Text).ToArray()).ToList());
return mylist;
}
我想将我的 GridView 转换为一个列表,其中 headers 作为第一行。
这可以将我的 GridView 转换为列表而不 headers。
var Result = GridView.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<TableCell>().Select(c => c.Text).ToArray()).ToList();
我正在尝试用 headers 将其转换回来。
var myorgitem = GridView.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<TableCell>().ToDictionary(
c => ????????????????????, c => (c.Text ?? "").ToString())).ToList();
谢谢!
这暂时可行,但我希望它更短、更高效。这会将任何 Gridview 转换为以 headers 作为第一行的列表。
protected List<string[]> GridViewToList(GridView gv)
{
var mylist = gv.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<DataControlFieldCell>().Select(
c => c.ContainingField.HeaderText).ToArray()).ToList();
if (mylist.Count > 1)
mylist.RemoveRange(1, mylist.Count - 1);
mylist.AddRange(gv.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<DataControlFieldCell>().Select(c => c.Text).ToArray()).ToList());
return mylist;
}