2010-04-16 8 views

Répondre

1

Je suppose que vous utilisez un champ de ligne unique de texte pour cela. La valeur par défaut standard pour un tel champ est toujours une constante, vous ne pouvez pas affecter une variable ou une fonction via le modèle d'objet. Tout ce que ferait est d'assigner le résultat statique de cet appel particulier de la fonction. Bien que les champs de texte puissent prendre en charge une valeur par défaut calculée, ils utilisent les mêmes fonctions que dans les colonnes Calculées, qui ne prennent pas en charge les nombres aléatoires. Votre meilleur pari est d'utiliser un gestionnaire d'événements, je recommanderais également ItemAdding sur ItemAdded. Vous attribueriez à properties.AfterProperties["fieldname"] au lieu de field.DefaultValue, bien sûr.

0

Si vous créez le champ par le code et le réglage de la field.DefaultValue = Guid.NewGuid(), ce courra le Guid.NewGuid() et stocker le Guid retourné par défaut Il est le equlivant de fonctionnement du Code folowing:

Guid newGuid = Guid.NewGuid(); 
string newGuidString = newGuid.ToString(); 
field.DefaultValue = newGuidString; 

Je ne sais pas de toute méthode que vous pouvez utiliser pour définir le champ pour générer un nouveau Guid sur le point création d'autres que d'utiliser un gestionnaire d'événements.

Il devrait être possible de générer un nombre aléatoire en utilisant la valeur field.DefaultValue = "RANDBETWEEN (10,20)"; mais je n'ai pas testé cela

Questions connexes