none
Mantenedor Sharepoint 2010 RRS feed

  • Pregunta

  • Hola Muchachos, buen dia a todos.

    Quisiera hacer una nueva pregunta y desde ya agradecer a todos los que me han ayudado con las respuestas en preguntas anteriores.

    miren cree una lista llamada tarea con sus respectivos campos y todo bien hasta ahi, el asunto es que esa lista yo la quiero mostrar dentro de un web part y lo condigo hacer como muestra la imagen:

     lo que no se como hacer, es como puedo habilitar el delete para cada item de la lista que estoy mostrando, como tambien activar el update y el insert.

    el código que estoy utilizando es el siguiente:

    Partial Public Class TareasUserControl
        Inherits UserControl
        Dim myCustomView As New ListViewByQuery
        Dim Query As SPQuery
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    
    
            'Esto es una consulta calm para filtrar los datos de acuerdo a quien esta conectado
            '1-. Obtener el ID de Usuario Conectado al Sitio
            Dim ls_usuario As String = SPContext.Current.Web.CurrentUser.Name
    
            Dim thisWeb As SPWeb = SPContext.Current.Web
            myCustomView.List = thisWeb.Lists("Tarea")
            myCustomView.List.AllowDeletion = True
    
            Query = New SPQuery(myCustomView.List.DefaultView)
            Query.Query = "  <Where>" & _
                            "   <Eq>" & _
                            "       <FieldRef Name='Author' />" & _
                            "       <Value Type='User'>" & ls_usuario & "</Value>" & _
                            "   </Eq>" & _
                            "</Where>"
            myCustomView.Query = Query
            Me.Controls.Add(myCustomView)
    
        End Sub
    
    End Class

    entonces armo la pregunta.

    ¿Como puedo activar/mostrar las acciones delete, insert, update para la lista que estoy mostrando en un listViewByQuery?

    Desde ya saludos y muchas gracias

    lunes, 18 de marzo de 2013 13:29

Respuestas

  • Bueno mira, hay muchas cosas en SharePoint que puedes hacer directamente desde el explorador sin necesidad de usar código.

    Por ejemplo para crear una lista (de tareas o cualquier otra) puedes hacerlo de esta manera: Link

    Ahi tienes como crear una lista sin código desde el explorador, e incluso como crearla desde una página de SharePoint directamente así la muestras dentro de una webpart.

    Cuando una lista se crea, también se crea por lo menos una vista default. Generalemente se llama "All items", pero también puedes crear nuevas vistas según tus necesitades:

    Crear, Modificar o eliminar una vista

    Para tener algúnos ejemplos de vistas filtradas, Consulta este link

    Saludos


    Msorli

    • Marcado como respuesta Masterkapell martes, 19 de marzo de 2013 12:42
    lunes, 18 de marzo de 2013 14:39

Todas las respuestas

  • Hola Masterapell, perdón pero no entiendo porque lo haces de esa manera.

    Si creas una página en SharePoint, luego la editas, desde el menú insertar puedes agregar tu lista de Tareas. Ahi ya tienes lo que querías, la lista dentro de una webpart. Para agregar los campos puedes editar el webpart y en sus propiedades seleccionar la vista que desees o configurar los campos que quieras mostrar, con filtros y todo. Recuerda que para filtrar los elementos según el usuario logueado puedes poner en el filtro de la vista que muestre los elementos que cumplan con la condición Author=[Me].

    Si lo trabajas así, también puedes habiliar el webpart para que tenga la barra de funciones completa con lo cual puedes agregar, editar y eliminar elementos.

    Saludos

    Msorli


    Msorli

    lunes, 18 de marzo de 2013 14:03
  • Hola Msorli

    en realidad no se porque lo hago así, soy nuevo en esto.

    mira te cuento, esta lista la cree de la siguiente forma

        Protected Sub Btn_Tarea_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Btn_Tarea.Click
    
    
            Dim thisWeb As SPWeb = SPContext.Current.Web
            Dim myListColl As SPListCollection = thisWeb.Lists
    
            Dim ExistList As Boolean = True
            Try
                Dim lista As SPList = myListColl("Tarea")
            Catch ex As Exception
                ExistList = False
            End Try
    
            If Not ExistList Then
    
    
                Dim nuevaListaGuid As Guid = myListColl.Add("Tarea", "Maestro de tareas", SPListTemplateType.GenericList)
                Dim nuevaLista As SPList = myListColl.GetList(nuevaListaGuid, True)
    
                nuevaLista.Fields.Add("Fecha", SPFieldType.DateTime, True)
                nuevaLista.Fields.Add("Tarea", SPFieldType.Text, True)
                nuevaLista.Fields.Add("Nota", SPFieldType.Text, False)
                nuevaLista.Fields.Add("Cant HH JP", SPFieldType.Text, False)
                nuevaLista.Fields.Add("Cant HH Di", SPFieldType.Text, False)
                nuevaLista.Fields.Add("Cant HH De", SPFieldType.Text, False)
    
                nuevaLista.OnQuickLaunch = True
                nuevaLista.Update()
    
                Dim id_tarea As SPField = nuevaLista.Fields("Title")
                id_tarea.Title = "Id Tarea"
                id_tarea.Required = False
                id_tarea.ShowInDisplayForm = False
                id_tarea.ShowInEditForm = False
                id_tarea.ShowInNewForm = False
                id_tarea.ShowInViewForms = False
                id_tarea.Update()
    
                Try
    
                    Dim Proyecto As SPList = myListColl("Proyecto")
                    nuevaLista.Fields.AddLookup("Proyecto", Proyecto.ID, True)
                    Dim fieldLookUp As SPFieldLookup = CType(nuevaLista.Fields("Proyecto"), SPFieldLookup)
                    fieldLookUp.LookupField = Proyecto.Fields("Nombre Proyecto").InternalName
                    fieldLookUp.LinkToItem = True
                    fieldLookUp.Update()
    
                    Dim Actividad As SPList = myListColl("Actividades")
                    nuevaLista.Fields.AddLookup("Id Actividad", Actividad.ID, True)
                    fieldLookUp = CType(nuevaLista.Fields("Id Actividad"), SPFieldLookup)
                    fieldLookUp.LookupField = Actividad.Fields("Nombre Actividad").InternalName
                    fieldLookUp.LinkToItem = True
                    fieldLookUp.Update()
    
                    Dim EstadoTarea As SPList = myListColl("Estado Tarea")
                    nuevaLista.Fields.AddLookup("Estado Tarea", EstadoTarea.ID, True)
                    fieldLookUp = CType(nuevaLista.Fields("Estado Tarea"), SPFieldLookup)
                    fieldLookUp.LookupField = EstadoTarea.Fields("Descripcion").InternalName
                    fieldLookUp.Update()
    
                    Dim lf_estado_tarea As SPField = nuevaLista.Fields("Estado Tarea")
                    lf_estado_tarea.DefaultValue = "1"
                    lf_estado_tarea.Update()
    
    
                Catch ex As Exception
    
                End Try
    
                Dim miVista As SPView = nuevaLista.Views("All Items")
                miVista.ViewFields.DeleteAll()
                miVista.Update()
                miVista.ViewFields.Add("Proyecto")
                miVista.ViewFields.Add("Id Actividad")
                miVista.ViewFields.Add("Created By")
                miVista.ViewFields.Add("Fecha")
                miVista.ViewFields.Add("Tarea")
                miVista.ViewFields.Add("Cant HH JP")
                miVista.ViewFields.Add("Cant HH Di")
                miVista.ViewFields.Add("Cant HH De")
                miVista.ViewFields.Add("Estado Tarea")
                miVista.ViewFields.Add("Nota")
    
                miVista.Update()
    
            Else
                Me.Btn_Tarea.Visible = False
                Me.lbl_Tarea.Text = "Lista Tarea ya existe."
            End If
    
        End Sub

    y no se como puedo definir la vista para el usuario que esta conectado al momento de crear la lista.

    lo que quiero hacer con este tema es los siguiente

    1-. Una vista para los usuarios que están conectados para que vean sus cosas cuando tienen un perfil especifico(DESA).

    2-. Una vista para que los usuarios vean todo lo de la lista cuando tienen un perfil especifico(APROBADOR).

    si se pudiera crea la vista a la hora de crear la lista seria fabuloso, si no, es como activo las operaciones para que aparezcan(update, delete, insert).

    si me o pudieran indicar con código y ejemplos estaría muy agradecido caballeros.

    Saludos

    lunes, 18 de marzo de 2013 14:17
  • Bueno mira, hay muchas cosas en SharePoint que puedes hacer directamente desde el explorador sin necesidad de usar código.

    Por ejemplo para crear una lista (de tareas o cualquier otra) puedes hacerlo de esta manera: Link

    Ahi tienes como crear una lista sin código desde el explorador, e incluso como crearla desde una página de SharePoint directamente así la muestras dentro de una webpart.

    Cuando una lista se crea, también se crea por lo menos una vista default. Generalemente se llama "All items", pero también puedes crear nuevas vistas según tus necesitades:

    Crear, Modificar o eliminar una vista

    Para tener algúnos ejemplos de vistas filtradas, Consulta este link

    Saludos


    Msorli

    • Marcado como respuesta Masterkapell martes, 19 de marzo de 2013 12:42
    lunes, 18 de marzo de 2013 14:39