2008-09-16 120 views

Respuesta

52

Sharepoint listas tienen automáticamente una columna con "ID", que incrementos de automóviles. Simplemente necesita seleccionar esta columna desde la pantalla "modificar vista" para verla.

+1

Tenga en cuenta que no es posible usar la columna ID en una columna calculada si está intentando, p. Ej. comience a numerar desde un desplazamiento o establezca un prefijo/sufijo personalizado. Es posible establecer un valor de columna basado en la columna ID después de que se haya creado el nuevo elemento, utilizando un flujo de trabajo que se desencadena cuando se agrega un elemento a la lista. –

1

está allí de forma predeterminada. Es el campo de identificación.

+0

Soy incapaz de encontrar este campo para mostrar en mi lista personalizada? – pal4life

+0

Salgo ahora, pero lo verificaré cuando regrese a mi computadora – kemiller2002

9

No puede agregar una nueva ID autogenerada a una lista de SharePoint, pero ya hay una allí. Si edita la vista "Todos los elementos", verá una lista de columnas que no tienen marcada la opción de visualización.

Hay bastantes de estas columnas que existen pero que nunca se muestran, como "Creado por" y "Creado". Estos campos se usan dentro de SharePoint, pero no se muestran de manera predeterminada para no saturar la pantalla. No puede editar estos campos, pero puede mostrarlos al usuario. si marca la casilla "Mostrar" junto al campo ID, obtendrá un campo de ID único y generado automáticamente que se muestra en su lista.

Salida: Unique ID in SharePoint list

5

Si desea controlar el formato del identificador único, puede create your own <FieldType> in SharePoint. MSDN también tiene un visual How-To. Esto básicamente significa que está creando una columna personalizada.

WSS define el tipo de campo del contador (que es lo que está usando la columna de ID anterior). Nunca tuve la necesidad de volver a usar esto o extenderlo, pero debería ser posible.

Puede existir una solución sin crear un <FieldType> personalizado. Por ejemplo: si desea ID únicos como CUST1, CUST2, ... podría ser posible crear una columna Calculada y usar el valor de la columna ID en su fórmula (="CUST" & [ID]). No he intentado esto, pero este debería funcionar :)

+2

Esto en realidad no funciona. Lanza la siguiente excepción "La fórmula contiene referencia (s) a campo (s)." – turezky

+0

Esto parece funcionar solo si se muestra la columna ID. –

1

Si quieres algo más allá de la columna de ID que está en todas las listas, probablemente vas a tener que recurrir a un Receptor de eventos en la lista que "calcula" cuál debería ser el valor de su único identificador o utilizando un tipo de campo personalizado que tiene la lógica necesaria incorporada en esto. Desafortunadamente, estas dos opciones requerirán escribir e implementar un código personalizado en el servidor y desplegar ensamblajes en el GAC, lo cual puede ser desaprobado en entornos donde no se tiene control total sobre los servidores.

Si no necesita el identificador único para aparecer inmediatamente, probablemente podría generarlo a través de un flujo de trabajo (ya sea con SharePoint Designer o un flujo de trabajo WF personalizado integrado en Visual Studio).

Desafortunadamente, las columnas calculadas, que parecen ser una solución obvia, no funcionarán para este propósito porque el ID aún no se ha asignado cuando se intenta el cálculo. Si ingresa después del hecho y edita el ítem, el cálculo puede lograr lo que desea, pero en la creación inicial de un nuevo ítem no se calculará correctamente.

1

Como se mencionó, todos los objetos en sharepoint contienen algún tipo de identificador único (a menudo un contador basado en enteros para elementos de lista, y GUID para listas).

Dicho esto, también hay una función disponible en http://www.codeplex.com/features llamada "Política de columna única", diseñada para agregar otra columna con un valor único.Una valoración crítica completa está disponible en http://scothillier.spaces.live.com/blog/cns!8F5DEA8AEA9E6FBB!293.entry

4

tenía este problema con una lista personalizada y mientras que no es posible utilizar la columna ID la auto-generado para crear una columna calculada, es posible utilizar un flujo de trabajo para hacer el trabajo pesado.

he creado una nueva variable de flujo de trabajo de tipo Número y ponerlo a ser el valor de la columna de ID en el elemento actual. Entonces, simplemente se trata de calcular el valor de la columna personalizada y configurarlo, en mi caso solo necesitaba que la numeración comenzara en 100,000.

enter image description here

Cuestiones relacionadas