Как связать Arraylist, содержащий элементы типа object [], с GridView? - PullRequest
0 голосов
/ 19 октября 2011

У меня есть Arraylist, в котором все предметы относятся к типу object[2].

Как я могу связать его с GridView?

Мне нужно установить свойство DataField для BoundField, но я не знаю, как это сделать с object[].

Спасибо за ответы!

1 Ответ

1 голос
/ 19 октября 2011

Linq для создания списка анонимных объектов.

if (!IsPostBack)
 {
  List<object[]> list = new List<object[]>();
  list.Add(new object[] {11,22 });
  list.Add(new object[] { 21, 32 });

  var result = from ar in list
               select new
                    {
                        Data1=ar[0].ToString(),
                        Data2=ar[1].ToString()
                    };

  GridView1.DataSource = result.ToList();
  GridView1.DataBind();
}

ИЛИ

Используйте TemplateField и связывайте элемент с помощью Eval().

<asp:GridView ID="GridView1" 
                runat="server" 
                AutoGenerateColumns="False" >
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
            <asp:Literal 
                 ID="lit1" 
                 runat="server"
                 Text='<%#Eval("[0]") %>' />
            <asp:Literal 
                 ID="lit2" 
                 runat="server"
                 Text='<%#Eval("[1]") %>' />                
         </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Кодовый код,

if (!IsPostBack)
{
     List<object[]> list = new List<object[]>();
     list.Add(new object[] {11,22 });
     list.Add(new object[] { 21, 32 });
     GridView1.DataSource = list;
     GridView1.DataBind();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...