Я хотел бы преобразовать свой GridView в список с заголовками в качестве первой строки.
Это может преобразовать мой GridView в список без заголовков.
var Result = GridView.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<TableCell>().Select(c => c.Text).ToArray()).ToList();
Я пытаюсь преобразовать его обратно с помощью заголовков.
var myorgitem = GridView.Rows.OfType<GridViewRow>().Select(
r => r.Cells.OfType<TableCell>().ToDictionary(
c => ????????????????????, c => (c.Text ?? "").ToString())).ToList();
Спасибо!
Это работает на данный момент, но я хотел бы сделать его короче и эффективнее. Это преобразует любой Gridview в список с заголовками в качестве первой строки.
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;
}