Non esiste una Column che di default sia in grado di mostrare una DropDownList con i valori presi dalla tabella collegata, ma è possibile aggiungere una TemplateColum al DataGrid per arrivare allo stesso scopo.
L'esempio qui riportato non è completo, ma permette di partire da una struttura ed una logica che possono poi essere facilmente adattabili alla propria realtà.
<SCRIPT RUNAT="SERVER" Language="C#"> DataSet MyDS_Cat; int GetIndex (int ID) { // controlla la colonna ID e restituisci l'indice for (int i = 0; i< MyDS_Cat.Tables[0].Rows.Count; i++) { if (ID == myDS_Cat.Tables[0].Rows<i>["ID"]) return i; } } DataSet Categorie() { // valorizza la variabile solo se non è stato già fatto if (MyDS_Cat == null) { // estrazione del DataSet! } return MyDS_Cat; } </SCRIPT> <ASP:DataGrid id="myDG" AutoGenerateColumns="False" runat="server"> <Columns> <ASP:TemplateColumn HeaderText="Stato"> <ItemTemplate> <%# Databinder.Eval(Container.DataItem, "Desc"))%> </ItemTemplate> <EditItemTemplate>
DataTextField="Desc"
SelectedIndex='<%# GetIndex(Databinder.Eval(Container.DataItem, "ID"))%>'
runat="server" />
La funzione Categorie elenca tutti i possibili valori, estraendoli da una tabella collegata.
La funzione GetIndex invece scorre la lista di tutti i valori contenuti all'interno di questa tabella per restituire la posizione in cui si trova il valore impostato all'interno della tabella principale.
Per approfondimenti sul DataGrid si veda:
Speciale DataGrid di ASP.NET
https://www.aspitalia.com/servizi/focus/mostra.aspx?ID=446
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Short-circuiting della Pipeline in ASP.NET Core
Implementare il throttling in ASP.NET Core
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6
Cache policy su route groups di Minimal API in ASP.NET Core 7
Personalizzare l'errore del rate limiting middleware in ASP.NET Core