Mostrar atributo da Relação em DataGridView

votos
0

Quero mostrar o atributo de uma relação em um DataGridView. Eu uso o LINQ to SQL para fazer o mapeamento e tem as seguintes classes:

class Computer
{
    public string Name;
    public User User;
}

class User
{
    public string Name;
}

Eu uso um DataGridView para mostrar algumas linhas da Computerentidade e também quer ter uma coluna para mostrar o nome do usuário associado a este computador.

Eu criei uma fonte de dados objeto da Computerclasse. Eu definir a DataSourcepropriedade de meu BindingSource para esta fonte de dados e vinculado meu DataGridView com este BindingSource. Eu adicionei uma coluna à minha DataGridView e definir a DataPropertyNamepropriedade para //User.Name//, mas isso não funciona. O que é uma boa maneira de fazer isso?

Eu já pensou em criar uma classe adicional que herda de Computere tem uma propriedade de cadeia adicional que representa o nome do usuário; mas eu quero evitar esta solução.

Publicado 27/08/2009 em 07:57
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

var computerUsers = from c in mydataContext.Computer
select new {
 computerName = c.Name,
 userName = c.User.Name
};

myDataGridView.datasource = computerUsers;
myDataGridView.dataBind();

e na sua chamada datagridview "computerName" e "username"

<asp:BoundField DataField="computerName" HeaderText="Computer" />
<asp:BoundField DataField="userName" HeaderText="User" />
Respondeu 27/08/2009 em 08:14
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more