2009-12-14 3 views
0

I группы моих данных по длине следующегоASP.NET/C# Linq Связывание с GridView

int[] a = { 1, 2, 3,45,45,100,566}; 

var result = 
a.GroupBy(x => x.ToString().Length). 
Select(d => new { Key = d.Key, Grp = d }); 

Моего BulletedList вложен в GridView (помещаются в поле шаблона), чтобы отобразить элементы, Какой способ связать BulletedList, когда GridView отображает «Ключ».

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

ответ

2

набор DataKeyNames к вашему имени ключа

Например:

<asp:gridview id="CustomersGridView" 
     datasourceid="CustomersSource" 
     autogeneratecolumns="true" 
     emptydatatext="No data available." 
     autogenerateselectbutton="true"  
     datakeynames="CustomerID" 
+0

+1 для правильного ответа, но в связи с вопросом: добавьте GridView1.DataKeyNames = "Key"; непосредственно перед DataBind() –

0

Binding для маркированного списка в GridView (работает аналогично для любого управления, конечно)

void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e) 
    { 

    if(e.Row.RowType == DataControlRowType.DataRow) 
    { 
     RadioButtonList list = (RadioButtonList)e.Row.FindControl("rbList"); 
     if(list != null) 
     { 
     list.DataSource = mysource; 
     list.DataBind(); 
     } 
    } 
    } 

Убедитесь, что вы добавили событие в GridView.

Смежные вопросы