2013-06-06 3 views
1

Я заполняю свой список из базы данных следующим образом.Привязать данные к gridview

List<BObj_person> list = new List<BObj_person>(); 

BObj_person person = new BObj_person 
        { 
         PersonName = "aaa", 
         PersonSurname = "bbbb", 
         departman = new BObj_departman { DepartmanName = "ccc" } 
        }; 

list = list.Add(person); 

PersonName и PersonSurname исправны, показано в сетке, но departmanName проблема ?? как я могу привязать этот список к datagridview следующим образом; gridview.DataSource = list;

** Я использую сетку Ext.Net спасибо.

+0

'list = list.Add (person);'? метод 'Add' недействителен - просто сделайте' list.Add (person) ' –

ответ

2

Вы можете использовать ServerMapping для ModelField.

<ext:ModelField Name="departmanName" ServerMapping="departman.Name;" /> 

<ext:Column runat="server" DataIndex="departmanName" /> 

Адрес a full example of using ServerMapping.

+0

WOOW, вы очень большое спасибо. –

0

Вы должны использовать gridview.ItemsSource. Этого должно быть достаточно, чтобы заставить его работать.

1

Это должно работать, но я мог бы быть недопонимания вашего вопроса

<%# Eval("departman.DepartmanName") %> 

Если вы пытаетесь упростить связывание можно добавить свойство только для чтения в BObj_person имени DepartmanName

public class BObj_person 
{ 
    ... 
    public string DepartmanName 
    { 
     get { return departman.Name; } 
    }   
}  
1

множество DataSource вид сетки с коллекцией, а затем

<asp:TemplateField> 
    <itemtemplate> 
     <p><%#DataBinder.Eval(Container.DataItem, "departman.DepartmanName")%></p> 
    </itemtemplate> 
</asp:TemplateField> 
Смежные вопросы