71 messaggi dal 06 settembre 2007
Ciao, ho il seguente problema:

ho una detailsview in modalità insert e dopo aver inserito i valori "ora inizio" ed "ora fine" nelle due texbox corrispondenti, vorrei visualizzare in automatico il valore "durata ore" nella label successiva della detailsview stessa (il valore "durata ore" l'ho già calcolato nell'evento DetailsView1_ItemInserting e la relativa insert va a buon fine ma non riesco a visualizzarne il valore nella Detailsview).

Esiste un modo per farlo?

grazie
daniga
2.198 messaggi dal 30 novembre 2001
posta un pò di codice e vediamo.
71 messaggi dal 06 settembre 2007
La Detailsview:
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
DataKeyNames="ID" DataSourceID="SqlDataSource1" DefaultMode="Insert"
Height="50px" Width="125px" CssClass="DataWebControlStyle"
oniteminserting="DetailsView1_ItemInserting"
ondatabound="DetailsView1_DataBound">
<CommandRowStyle CssClass="HeaderStyle2" Font-Bold="False"
HorizontalAlign="Center" />
<RowStyle Wrap="False" />
<FieldHeaderStyle Font-Bold="True" Wrap="False" />
<Fields>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"
ReadOnly="True" SortExpression="ID" Visible="False" />
<asp:TemplateField HeaderText="Nominativo" SortExpression="Nominativo">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Nominativo") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataTextField='<%# Bind("Nominativo") %>' DataValueField="Nominativo" SelectedValue='<%# Bind("Nominativo") %>'
CssClass="DataWebControlStyle">
<asp:ListItem Selected="True">Seleziona la risorsa</asp:ListItem>
<asp:ListItem>Silecchia</asp:ListItem>
<asp:ListItem>Bartella</asp:ListItem>
<asp:ListItem>Grimaldi</asp:ListItem>
<asp:ListItem>Mella</asp:ListItem>
<asp:ListItem>Muollo</asp:ListItem>
<asp:ListItem>Benelli</asp:ListItem>
<asp:ListItem>Ravanelli</asp:ListItem>
</asp:DropDownList>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Nominativo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Data attività" SortExpression="DataAttivita">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("DataAttivita") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("DataAttivita") %>'></asp:TextBox>
<a href="javascript:OpenPopupPage('Calendar.aspx','<%=((TextBox)DetailsView1.FindControl("TextBox3")).ClientID %>','<%= Page.IsPostBack %>');"> <img alt="" src="images/icon-calendar.gif" /></a>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("DataAttivita") %>'></asp:Label>
</ItemTemplate>
<ControlStyle Width="130px" />
</asp:TemplateField>
<asp:BoundField DataField="CausaleAttivita" HeaderText="Causale attività"
SortExpression="CausaleAttivita" />
<asp:TemplateField HeaderText="Descrizione" SortExpression="Descrizione">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Descrizione") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox1" TextMode="MultiLine" runat="server" Text='<%# Bind("Descrizione") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Descrizione") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="OraInizio" HeaderText="Ora inizio"
SortExpression="OraInizio" />
<asp:BoundField DataField="OraFine" HeaderText="Ora fine"
SortExpression="OraFine" />
<asp:TemplateField HeaderText="Durata Ore" SortExpression="DurataOre">
<ItemTemplate>
<asp:Label ID="Label14" runat="server" Text='<%# Bind("DurataOre") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("DurataOre") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:Label ID="Label14" runat="server" Text='<%# Bind("DurataOre") %>'></asp:Label>
</InsertItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowInsertButton="True" ShowCancelButton="false"
ButtonType="Button" >
<ControlStyle Font-Bold="True" />
</asp:CommandField>
</Fields>
<AlternatingRowStyle CssClass="AlternatingRowStyle" />
</asp:DetailsView>

L'EVENTO DELLA DETAILSVIEW:

protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{

string OraInizio = e.Values[4].ToString();
string OraFine = e.Values[5].ToString();

string Start = OraInizio.Substring(0, 2);
string End = OraFine.Substring(0, 2);

int A = Convert.ToInt32(Start);
int B = Convert.ToInt32(End);

int C = B - A;

string totaleOre = Convert.ToString(C);

if (e.Values[4] != null && e.Values[5] != null)
{
e.Values[6] = totaleOre;
}

}
2.198 messaggi dal 30 novembre 2001
qual'è la label che vuoi valorizzare?
71 messaggi dal 06 settembre 2007
Label14 dell'InsertItemTemplate

<asp:TemplateField HeaderText="Durata Ore" SortExpression="DurataOre">
<ItemTemplate>
<asp:Label ID="Label14" runat="server" Text='<%# Bind("DurataOre") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("DurataOre") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:Label ID="Label14" runat="server" Text='<%# Bind("DurataOre") %>'></asp:Label>
</InsertItemTemplate>
</asp:TemplateField>
2.198 messaggi dal 30 novembre 2001
elimina in Bind dal Text della label e nell'evento metti:
if (e.Values[4] != null && e.Values[5] != null)
{
Label14.Text = totaleOre;
}
71 messaggi dal 06 settembre 2007
scusa ma non ho capito questo passaggio:

"elimina in Bind dal Text della label"

come devo scrivere il Text della label?
2.198 messaggi dal 30 novembre 2001
<asp:Label ID="Label14" runat="server" Text=""></asp:Label>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.