Dites que j'ai un objet métier appelé échantillon et j'ai une liaison d'échantillons. Un échantillon a 4 propriétés. p>
Puis-je sélectionner quelles propriétés sont liées à DataGrid ou il n'y a pas d'option pour personnaliser une telle chose? P>
note: J'utilise Compact Framework, où n'est pas DataGridView, ainsi que des biens autogéniers et de la propriété DataMember. P>
Veuillez garder cela à l'esprit lors de la réponse. P>
3 Réponses :
Je suppose que vous voulez dire DataGrid dans Winforms, mais la même chose est applicable aux commandes les plus contraignantes. P>
Oui, vous pouvez le faire. Le processus de faire est un processus en 2 étapes p>
code>. li>
- Définissez la propriété DataMember pour être le nom de la chaîne de la propriété que vous souhaitez lier. li>
ul>
Merci. La propriété DataMember est absente de Compact Framework DataGrid Class. Existe-t-il un moyen de le faire sur le niveau de liaison? Ce que je cherche, c'est un moyen de marquer un exemple de propriété non obligatoire ....
public class Sample { [Browsable(false)] public int PropertyA {get;set;} public bool PropertyB {get;set;} public string PropertyC {get;set;} [Browsable(false)] public double PropertyD {get;set;} }
Merci, je fais quelque chose d'équivalent à cela dans un cadre compact. Mais ce n'est pas très dynamique car je n'ai toujours besoin que de codes "de la propriété" ou de le charger à une certaine constante. Je faisais plus de référence à peut-être chaque propriété d'échantillon ayant une propriété obligatoire pouvant être allumée ou éteinte. Ou en d'autres termes, lier la liaison à la liaison personnalisée .... Je suppose que ce n'est pas possible? Oublions des colonnes DataGrid pour l'instant (je sais comment faire cela). Y a-t-il un moyen de faire à travers la liaison?
En regardant les propriétés / méthodes de lierfliste
Quelque chose comme ça Jardinesoftware.net/2007/10/23/ Hide-Properties-in-Bindinglis t Mais il / elle n'explique pas et n'obtenez pas tout à fait comment ce qu'il a écrit est utilisé.
Ahhh, je viens de lire votre commentaire après avoir soumis mon code ... il suffit d'ajouter [Navigible (Faux)] aux propriétés que vous ne voulez pas afficher dans la DataGridView.
Voir mon édition 2 pour comment faire ce qui a été répertorié dans le lien que vous avez fourni.
L'attribut navigable du cours n'est pas inclus dans le cadre compact, alors ignorez ma note ci-dessus.
Qu'est-ce qui aurait été si facile en complète .Net va être une douleur et beaucoup de codage dur dans un cadre compact. Dieu je déteste cette plate-forme. rant sur.
Je vais utiliser les colonnes de la grille (comme je le faisons maintenant). On dirait que c'est la seule façon d'aller. Merci
Aucun problème. Bonne chance pour votre projet.
J'ai effectivement décidé de ne pas utiliser la liaison à la liaison mais rester avec le type de données comme son propre objectif avec la liaison à la liaison n'a pas été atteint. DataTable me donne plus de flexibilité de colonnes que la contrainte de liaison où l'objet Business doit être défini de manière rigide. Depuis que je ne peux pas masquer / montrer des colonnes avec facilité, je pourrais aussi bien utiliser cette méthode. Il est plus logique de l'utiliser en pleine tête .Net je pense.
Merci Justin! Merci pour votre aide aussi.
J'ai géré cela de différentes manières, j'espère que cela est utile.
La première option, comme Justin mentionné, est de définir AUTOGENNERATECOLUNNS = FAUX, et le faire manuellement à partir de là. Si vous le liez, l'exécution créera des colonnes pour toutes les propriétés publiques de l'échantillon. Si vous souhaitez les supprimer, vous pouvez le faire avec P>
BindingList<ISimpleSample> = new BindingList<ISimpleSample>();