2010-11-16 5 views
0

J'ai un peu de poulet et un œuf.Dynamic gridview basé sur la liste déroulante

J'ai besoin de lier un gridview à un ensemble de valeurs de base de données. Le gridview est dynamique et les colonnes, les cellules sont créées au moment de l'exécution. En tant que tel, j'ai besoin de re-lier la grille à chaque publication dans les événements pré-init, init après très post-retour. Toutefois, les données utilisées pour remplir la grille utilisent une valeur provenant d'une zone de liste déroulante sur la même page. En tant que tel, la valeur de dropdown n'est pas accessible via viewstate qu'après l'événement init (c'est-à-dire que l'index sélectionné est toujours le premier élément dans la liste jusqu'à après init).

Comment puis-je avoir accès à la valeur de la liste déroulante dans le temps pour relier la grille avant l'événement pageload?

+0

pourquoi vous voulez créer DatyaGrid dans l'événement "init", vous pouvez créer une grille à l'exécution dans l'événement de chargement de la page. –

+0

Vous pouvez créer DataGrid lors de l'exécution sur l'événement de chargement de la page ou dans l'événement de modification DropDown –

+0

le gird est créé dynamiquement et inclure des champs de modèle avec des cases à cocher. Si la grille est créée dans le chargement de la page alors l'état de l'affichage est perdu, il doit être créé avant le chargement de la page pour permettre à LoadViewState de fonctionner. – januszstabik

Répondre

0

Si le Gridview a toujours le même nombre de colonnes, vous pouvez demander à la requête dynamique de générer des noms de colonne en tant qu'alias, puis de redéfinir simplement la modification de la liste déroulante Gridview?

0

vous pouvez utiliser et contrôle HtmlHidden pour stocker la valeur dont vous avez besoin. Il ne dépend pas de viewstate et il est disponible dans la page init

Questions connexes