C'est probablement facile, mais je n'ai pas trouvé de réponse nulle part. Je remplis dynamiquement DataGridView précédemment créé sur un formulaire Web ASP.NET avec un DataTable, mais je souhaite modifier le nom des colonnes qui apparaissent sur ce DataGridView, et je ne peux tout simplement pas comprendre ce que je fais mal . Voici le code:Modifier la colonne à partir de DataGridView dans l'exécution
DataTable dtUsuarios = DBManager.RunSqlGetDataTable(
@"select b.UserName, c.Email, c.IsLockedOut, c.LastLoginDate,
case
when e.RoleName is not null then 1
else 0 end Admin
from dbo.aspnet_Applications a join dbo.aspnet_Users b
on a.ApplicationId = b.ApplicationId
join dbo.aspnet_Membership c
on b.ApplicationId = c.ApplicationId
and b.UserId = c.UserId
left join dbo.aspnet_UsersInRoles d
on d.UserId = b.UserId
left join dbo.aspnet_Roles e
on d.RoleId = e.RoleId
where a.ApplicationName = 'Mont Blanc Catalogo'");
dtUsuarios.Columns["UserName"].Caption = "Nome Usuário";
dtUsuarios.Columns["Email"].Caption = "E-mail";
dtUsuarios.Columns["IsLockedOut"].Caption = "Bloqueado";
dtUsuarios.Columns["LastLoginDate"].Caption = "Último Login";
dtUsuarios.Columns["Admin"].Caption = "Administrador";
DataView dvUsuarios = new DataView(dtUsuarios) { Sort = "UserName" };
gdvUsuarios.DataSource = dvUsuarios;
gdvUsuarios.DataBind();
//gdvUsuarios.Columns[0].HeaderText = "Nome Usuário";
//gdvUsuarios.Columns[1].HeaderText = "E-mail";
//gdvUsuarios.Columns[2].HeaderText = "Bloqueado";
//gdvUsuarios.Columns[3].HeaderText = "Último Login";
//gdvUsuarios.Columns[4].HeaderText = "Administrador";
Réglage des valeurs changeant la légende du DataTable ne fonctionne pas, et après la DataBind, la propriété Columns.Count pour les colonnes retour DataGridView zéro! Après l'exécution du code, tout apparaît normalement sur ma page ASP, mais les légendes sont fausses. Qu'est ce que je fais mal?
Tks
Je sais, tks. Dans cette requête particulière, j'ai le contrôle sur les noms de colonnes, mais dans le cas d'une procédure, je ne le fais pas. Je ne voulais pas savoir comment le faire dynamiquement à travers le code. – Pascal