ok i solved the to poputate the dropdown.
using Microsoft.SharePoint;
using System;
using System.ComponentModel;
using System.Web.UI.WebControls.WebParts;
using System.Linq;
using Microsoft.SharePoint.Utilities;
using System.Web.UI.WebControls;
namespace Lavorazioni.Crm.WP.GestioneAttivita
{
[ToolboxItemAttribute(false)]
public partial class GestioneAttivita : WebPart
{
// Uncomment the following SecurityPermission attribute only when doing Performance Profiling on a farm solution
// using the Instrumentation method, and then remove the SecurityPermission attribute when the code is ready
// for production. Because the SecurityPermission attribute bypasses the security check for callers of
// your constructor, it's not recommended for production purposes.
// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Assert, UnmanagedCode = true)]
public GestioneAttivita()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeControl();
}
protected void Page_Load(object sender, EventArgs e)
{
// _id = Page.Request.QueryString["ID"];
if (!Page.IsPostBack)
{
SPSecurity.RunWithElevatedPrivileges(delegate ()
{
using (SPSite ElevatedSite = new SPSite(SPContext.Current.Web.Site.ID))
using (SPWeb ElevatedWeb = ElevatedSite.OpenWeb(SPContext.Current.Web.ID))
{
CaricaTendinaAttivita(ElevatedWeb);
CaricaTendinaEsito(ElevatedWeb);
CaricaTendinaCausale(ElevatedWeb);
CaricaItem(ElevatedWeb);
}
});
}
}
protected void btnSeleziona_Click(object sender, EventArgs e)
{
SPSecurity.RunWithElevatedPrivileges(delegate ()
{
using (SPSite ElevatedSite = new SPSite(SPContext.Current.Web.Site.ID))
using (SPWeb ElevatedWeb = ElevatedSite.OpenWeb(SPContext.Current.Web.ID))
{
CaricaItem(ElevatedWeb);
FiltraRisultati(ElevatedWeb);
}
});
}
protected void btnAnnulla_Click(object sender, EventArgs e)
{
SPSecurity.RunWithElevatedPrivileges(delegate ()
{
using (SPSite ElevatedSite = new SPSite(SPContext.Current.Web.Site.ID))
using (SPWeb ElevatedWeb = ElevatedSite.OpenWeb(SPContext.Current.Web.ID))
{
PulisciControlli();
CaricaItem(ElevatedWeb);
}
});
}
private void PulisciControlli()
{
ddlAttivita.SelectedValue = "";
ddlEsito.SelectedValue = "";
ddlCausale.SelectedValue = "";
txtUtente.Text = "";
txtOrigineCSV.Text = "";
}
private void CaricaItem(SPWeb web)
{
SPList listaGestAtt = web.GetList(web.ServerRelativeUrl + "/Lists/" + ddlListaDiRiferimento.Text);
SPListItemCollection items = listaGestAtt.GetItems();
var itemBindabili = from SPListItem i in items.Cast<SPListItem>()
select new
{
ID = i.ID,
Titolo = i["Title"],
Attivita = new SPFieldLookupValue(i["Attivit_x00e0_"] as String).LookupValue,
OrigineCSV = new SPFieldLookupValue(i["OrigineCSV"] as String).LookupValue,
IDUtente = ControllaID(web, Convert.ToString(i["Utente"])),
Utente = ControllaUtente(web, Convert.ToString(i["Utente"])),
Esito = new SPFieldLookupValue(i["Esito"] as String).LookupValue,
Causale = new SPFieldLookupValue(i["Causale"] as String).LookupValue
};
grdItems.DataSource = itemBindabili.ToList();
grdItems.DataBind();
}
private string ControllaUtente(SPWeb web, string fieldValue)
{
if (!string.IsNullOrEmpty(fieldValue))
return new SPFieldUserValue(web, fieldValue).User.Name;
else
return (fieldValue);
}
private int ControllaID(SPWeb web, string fieldValue)
{
if (!string.IsNullOrEmpty(fieldValue))
return new SPFieldUserValue(web, fieldValue).User.ID;
else
return -1;
}
protected void ddlListaDiRiferimento_SelectedIndexChanged(object sender, EventArgs e)
{
string value = ddlListaDiRiferimento.SelectedValue;
//in base al primo valore bindi la griglia
CaricaItem(SPContext.Current.Web);
}
private void CaricaTendinaAttivita(SPWeb Elevatedweb)
{
SPList list = Elevatedweb.Lists.TryGetList("Attività");
SPQuery query = new SPQuery();
query.Query = "<OrderBy><FieldRef Name='ID' Ascending='TRUE' /></OrderBy>";
SPListItemCollection collection = list.GetItems(query);
ddlAttivita.DataSource = collection;
ddlAttivita.DataTextField = "Title";
ddlAttivita.DataValueField = "ID";
ddlAttivita.Items.Insert(0, new ListItem("---Select---", "0"));
ddlAttivita.DataBind();
}
private void CaricaTendinaEsito(SPWeb Elevatedweb)
{
SPList list = Elevatedweb.Lists.TryGetList("Esiti");
SPQuery query = new SPQuery();
query.Query = "<OrderBy><FieldRef Name='ID' Ascending='TRUE' /></OrderBy>";
SPListItemCollection collection = list.GetItems(query);
ddlEsito.DataSource = collection;
ddlEsito.DataTextField = "Title";
ddlEsito.DataValueField = "ID";
ddlEsito.Items.Insert(0, new ListItem("---Select---", "0"));
ddlEsito.DataBind();
}
private void CaricaTendinaCausale(SPWeb Elevatedweb)
{
SPList list = Elevatedweb.Lists.TryGetList("Specifica");
SPQuery query = new SPQuery();
query.Query = "<OrderBy><FieldRef Name='ID' Ascending='TRUE' /></OrderBy>";
SPListItemCollection collection = list.GetItems(query);
ddlCausale.DataSource = collection;
ddlCausale.DataTextField = "Title";
ddlCausale.DataValueField = "ID";
ddlCausale.Items.Insert(0, new ListItem("---Select---", "0"));
ddlCausale.DataBind();
}
private void FiltraRisultati(SPWeb web)
{
SPList listaGestAtt = web.GetList(web.ServerRelativeUrl + "/Lists/" + ddlListaDiRiferimento.Text);
var value = ddlAttivita.SelectedItem.Text;
SPQuery query = new SPQuery();
query.Query = "<Where><Contains><FieldRef Name='Attivit_x00e0_' /><Value Type='Text'>" + ddlAttivita.SelectedItem.Text + "</Value></Contains></Where>";
var items = listaGestAtt.GetItems(query);
grdItems.DataSource = items;
grdItems.DataBind();
}
}
}
<h1>Gestione Attività</h1>
<asp:Label ID="lblListaDiRiferimento" runat="server" Text="Lista di riferimento"></asp:Label>
<asp:DropDownList ID="ddlListaDiRiferimento" runat="server" OnSelectedIndexChanged="ddlListaDiRiferimento_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Text="CVT-FINDOMESTIC" Value="CVTFINDOMESTIC"></asp:ListItem>
<asp:ListItem Text="RCAPRIMIRINNOVI-VW" Value="RCAPRIMIRINNOVIVW"></asp:ListItem>
<asp:ListItem Text="RCASECONDIRINNOVI-RCI" Value="RCASECONDIRINNOVIRCI"></asp:ListItem>
<asp:ListItem Text="RCASECONDIRINNOVI-VW" Value="RCASECONDIRINNOVIVW"></asp:ListItem>
<asp:ListItem Text="CONGIUNTI-VW" Value="CONGIUNTIVW"></asp:ListItem>
<asp:ListItem Text="CVT-OPEL" Value="CVTOPEL"></asp:ListItem>
<asp:ListItem Text="CVT-VW" Value="CVTVW"></asp:ListItem>
<asp:ListItem Text="RCA-VERTI" Value="RCAVERTI"></asp:ListItem>
<asp:ListItem Text="--" Value=""></asp:ListItem>
</asp:DropDownList>
<br />
<br />
<asp:Literal ID="lblAttivita" runat="server" Text="Attività"></asp:Literal>
<asp:DropDownList ID="ddlAttivita" runat="server"></asp:DropDownList>
<br />
<br />
<asp:Literal ID="lblEsito" runat="server" Text="Esito"></asp:Literal>
<asp:DropDownList ID="ddlEsito" runat="server"></asp:DropDownList>
<br />
<br />
<asp:Literal ID="lblCausale" runat="server" Text="Causale"></asp:Literal>
<asp:DropdownList ID="ddlCausale" runat="server"></asp:DropdownList>
<br />
<br />
<asp:Literal ID="lblUtente" runat="server" Text="Utente"></asp:Literal>
<asp:TextBox ID="txtUtente" runat="server"></asp:TextBox>
<br />
<br />
<asp:Literal ID="lblOrigineCSV" runat="server" Text="OrigineCSV"></asp:Literal>
<asp:TextBox ID="txtOrigineCSV" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="btnSelezionaTitle" runat="server" Text="Cerca" OnClick="btnSeleziona_Click"/>
<asp:Button ID="btnAnnulla" runat="server" Text="Annulla" OnClick="btnAnnulla_Click"/>
<br />
<br />
<asp:GridView ID="grdItems" runat="server" AutoGenerateColumns="false" PageSize="10" AllowPaging="true" DataKeyNames="ID" >
<Columns>
<asp:CommandField ShowSelectButton="true" DeleteText="Seleziona Record"/>
<asp:BoundField DataField="Titolo" HeaderText="Titolo" />
<asp:BoundField DataField="Attivita" HeaderText="Attività" />
<asp:BoundField DataField="OrigineCSV" HeaderText="OrigineCSV" />
<asp:BoundField DataField="IDUtente" HeaderText="IDUtente" />
<asp:BoundField DataField="Utente" HeaderText="Utente" />
<asp:BoundField DataField="Esito" HeaderText="Esito" />
<asp:BoundField DataField="Causale" HeaderText="Causale" />
</Columns>
</asp:GridView>