Per modificare i dati in un datagrid si usa di solito un TextBox.
Se si volesse utilizzare un DropDownList, come si dovrebbe fare?
Per modificare i dati in un datagrid si usa di solito un TextBox.
Se si volesse utilizzare un DropDownList, come si dovrebbe fare?
Ciao,
hai provato nell'html a mettere l'oggetto "DropDownList" nel TAG ItemTemplate?
Se mi dai un attimo, provo a compilarti un esempio...
![]()
Ciao!
Grazie della risposta. Sto imparando ancora e non ho provato niente.Originariamente inviato da Cics
Ciao,
hai provato nell'html a mettere l'oggetto "DropDownList" nel TAG ItemTemplate?
Se mi dai un attimo, provo a compilarti un esempio...
![]()
Ciao!
Ciao
codice:... <ASP:TemplateColumn> <ItemTemplate> bla bla bla </ItemTemplate> <EditItemTemplate> <ASP:DropDownList......> </EditItemTemplate> </ASP:TemplateColumn> ...
Hey hey, my my Rock and roll can never die!
Grazie :quipy:Originariamente inviato da zampa28
codice:... <ASP:TemplateColumn> <ItemTemplate> bla bla bla </ItemTemplate> <EditItemTemplate> <ASP:DropDownList......> </EditItemTemplate> </ASP:TemplateColumn> ...
Finalmente ce l'ho fatta: proprio una roba carina![]()
:tongue:
Ecco la mia form:
<asp:datagrid id=DataGrid1 style="Z-INDEX: 101; LEFT: 195px; POSITION: absolute; TOP: 78px" runat="server" DataSource="<%# DsFornitori1 %>" DataKeyField="CodiceSubFornitore" DataMember="SubFornitori" CellPadding="3" BorderWidth="1px" BorderColor="#E7E7FF" BorderStyle="None" BackColor="White" GridLines="Horizontal" AutoGenerateColumns="False">
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Aggiorna" CancelText="Annulla" EditText="Modifica"></asp:EditCommandColumn>
<asp:TemplateColumn HeaderText="Codice">
<ItemTemplate>
<asp:Label id=Codice runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CodiceSubFornitore") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=TextBox1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CodiceSubFornitore") %>' Width="74px">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Nominativo">
<ItemTemplate>
<asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NomeSubFornitore") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<aspropdownlist id=Dropdownlist1 runat="server" DataSource="<%# DsFornitori1 %>" DataMember="SubFornitori" Width="456px" DataTextField="NomeSubFornitore" DataValueField="CodiceSubFornitore">
</aspropdownlist>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="DataFineRapporto" SortExpression="DataFineRapporto" ReadOnly="True" HeaderText="Fine Rapporto" DataFormatString="{0:dd/MM/yyyy}"></asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Right" ForeColor="#4A3C8C" BackColor="#E7E7FF" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
<asp:label id="lblValore" style="Z-INDEX: 102; LEFT: 215px; POSITION: absolute; TOP: 25px" runat="server" Width="273px"></asp:label>
Ed ecco il codice VB:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Inserire qui il codice utente necessario per inizializzare la pagina
SqlDataAdapter1.Fill(DsFornitori1)
If Not IsPostBack Then
DataGrid1.DataBind()
End If
End Sub
Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.CancelCommand
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex = e.Item.ItemIndex
DataGrid1.DataBind()
Dim ddl As DropDownList = DataGrid1.Items(e.Item.ItemIndex).Cells(2).FindCon trol("DropDownList1")
Dim txcodice As Label = CType(e.Item.FindControl("Codice"), Label)
Dim codice As Integer = txcodice.Text
Dim i As Integer
For i = 0 To ddl.Items.Count - 1
If CInt(codice) = CInt(ddl.Items(i).Value) Then
ddl.Items(i).Selected = True
Exit For
End If
Next
End Sub
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.UpdateCommand
Dim ddl As DropDownList
Dim valorescelto As String
ddl = e.Item.FindControl("DropDownList1")
valorescelto = ddl.selecteditem.value()
lblValore.text = valorescelto
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub
Spero ti sia utile!
Ciao, CICS![]()
Per Cics. Grazie della risposta. Lo studio. Dovrei risponderti Lunedì.
Comunque, preparati ad un'altra domanda. :gren:
Questo forum si sta popolando. Era ora.![]()