Esatto! E' possibile vedere il codice?![]()
col mio codice non riesco proprio![]()
Esatto! E' possibile vedere il codice?![]()
col mio codice non riesco proprio![]()
ma il textbox è stato modificato?recupero il valore del TexBox nella riga in quella data colonna
hai recuperato il valore "modificato dell'utente"?
Eventualmente, se non ci sono altre soluzioni, potrebbe andare bene anche questa.... dato che potrei inserire il valore 0 in tutti i textbox, posso dare per scontato che se il valore è diverso da 0, vuol dire che l'utente ha "cambiato" il valore....Originariamente inviato da riccardone
Questo dovrebbe funzionare, ma se non sbaglio il problema e' che cosi facendo salva i dati che ci sono gia' nelle textbox e non quelli modificati dall'utente.
come posso fare??
Thanks thanks thanks
Please help me![]()
Prova con questa pagina
Mentre questo è il codebihndcodice:<form id="Form1" method="post" runat="server"> <asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 48px; POSITION: absolute; TOP: 40px" runat="server" AutoGenerateColumns="False" Width="254px" Height="200px"> <Columns> <asp:BoundColumn DataField="Categoryname"></asp:BoundColumn> <asp:TemplateColumn> <ItemTemplate> <asp:TextBox id="tb1" runat="server"></asp:TextBox> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 432px; POSITION: absolute; TOP: 48px" runat="server" Text="Button"></asp:Button> </form>
Fammi sapere!codice:private void Page_Load(object sender, System.EventArgs e){ if (!Page.IsPostBack){ Bindgrid(); } } private void Bindgrid(){ SqlConnection cnn = new SqlConnection("Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=local"); SqlCommand cmd = new SqlCommand("SELECT * FROM Categories",cnn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable("Categories"); cnn.Open(); da.Fill(dt); cnn.Close(); this.DataGrid1.DataSource = dt; this.DataGrid1.DataBind(); } private void Button1_Click(object sender, System.EventArgs e){ TextBox tb = null; foreach (DataGridItem dgi in this.DataGrid1.Items){ if( dgi.ItemType == ListItemType.Item || dgi.ItemType == ListItemType.AlternatingItem){ if (dgi.FindControl("tb1") != null){ tb = (TextBox)dgi.FindControl("tb1"); Response.Write(tb.Text); } } } }
Ciao
Kalman
Kalman
Niente
ho adattato il tuo codice alla mia pagina (aggiungendo il this.)
ma ho sempre lo stesso problema, non riesco ad ottenere la modifica sul textbox
private void Page_Load(object sender, System.EventArgs e)
{
string dataSource = Server.MapPath(ConfigurationSettings.AppSettings["connStr.DataSource"]);
string strConn="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + dataSource;
myConnection = new OleDbConnection(strConn);
string nome=User.Identity.Name;
nome=nome.Substring(0,nome.IndexOf(":"));
Label1.Text=nome;
if(!IsPostBack)
{
GetData();
}
}
private void GetData()
{
try
{
DsDati = new DataSet();
OleDbCommand myCommandArticoli = new OleDbCommand("SP_OrdiniPV_Select", myConnection);
myCommandArticoli.Parameters.Add(new OleDbParameter("@PuntoVendita", OleDbType.VarChar));
myCommandArticoli.Parameters["@PuntoVendita"].Value = Session["IDAzienda"].ToString();
myCommandArticoli.Parameters.Add(new OleDbParameter("@NumeroOrdine", OleDbType.VarChar));
myCommandArticoli.Parameters["@NumeroOrdine"].Value = NumeroOrd.ToString();
myCommandArticoli.CommandType=CommandType.StoredPr ocedure;
OleDbDataAdapter DataAdapt = new OleDbDataAdapter(myCommandArticoli);
DataAdapt.Fill(DsDati, "Articoli");
this.MyDataGrid.DataSource = DsDati.Tables["Articoli"].DefaultView;
this.MyDataGrid.DataBind();
myConnection.Close();
}
catch (Exception exc)
{
string debug = exc.Message;
}
}
private void buttonAdd_Click(object sender, System.EventArgs e)
{
foreach(DataGridItem dgi in this.MyDataGrid.Items)
{
if(dgi.ItemType == ListItemType.Item || dgi.ItemType == ListItemType.AlternatingItem)
{
//if ((int.Parse((((TextBox)dgi.Cells[7].FindControl("Totale")).Text))) > 0)
if (dgi.FindControl("Totale") != null)
{
// salvo questa riga nel datatable
TextBox tb = null;
tb = (TextBox)dgi.FindControl("Totale");
a questo punto il valore del textbox è sempre 0 (o null se tolto l'inizializzazione del textbox)
il datagrid è:
<asp:datagrid id="MyDataGrid" runat="server" Width="98%" BorderStyle="Ridge" GridLines="None"
BorderWidth="2px" BorderColor="White" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel"
BackColor="White" CellPadding="3" CellSpacing="1" AllowSorting="True" PagerStyle-Mode="NextPrev" PagerStyle-HorizontalAlign="Center"
PagerStyle-Position="TopAndBottom" DataKeyField="ID" OnPageIndexChanged="MyDataGrid_PageIndexChanged" OnSortCommand="Sort_Grid"
OnDeleteCommand="MyDataGrid_Delete" AutoGenerateColumns="False" HorizontalAlign="Center">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#9471DE"></SelectedItemStyle>
<ItemStyle ForeColor="Black" BackColor="#DEDFDE"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#E7E7FF" BackColor="#698696"></HeaderStyle>
<FooterStyle ForeColor="Black" BackColor="#C6C3C6"></FooterStyle>
<Columns>
<asp:TemplateColumn SortExpression="CodiceArticolo" HeaderText="Codice">
<ItemStyle Width="80px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="CodiceArticoloText" Cssclass="TestoDataGrid" width="40px" Text='<%# DataBinder.Eval(Container.DataItem, "CodiceArticolo") %>' Runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
...... varie righe
<asp:TemplateColumn SortExpression="Quantita" HeaderText="Qt.Ordinata">
<ItemStyle Width="50px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="Label4" Cssclass="TestoDataGridRight" Text='<%# DataBinder.Eval(Container.DataItem, "Quantita") %>' Runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Quantita" HeaderText="Qt.Evasa">
<ItemStyle Width="50px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="Label5" Cssclass="TestoDataGridRight" Text='<%# DataBinder.Eval(Container.DataItem, "QuantitaEvasa") %>' Runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Quantita" HeaderText="Evasione">
<ItemStyle Width="50px"></ItemStyle>
<ItemTemplate>
<asp:TextBox runat="server" Width="70" OnTextChanged="VerificaRiga" class="TestoDataGrid"
id="Totale" Text='0' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle NextPageText="Succ" Font-Size="XX-Large" Font-Names="Arial" PrevPageText="Prec"
HorizontalAlign="Right" ForeColor="Black" Position="TopAndBottom" BackColor="#C6C3C6" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
Ho provato il codice di Kalman adattandolo al basic, e, naturalmente, FUNZIONA. Il codice è un poco diverso da quello scritto da me, ma il concetto è lo stesso. Perciò, credo che valeria75 debba semplicemente, prendere questo codice ed adattarlo alle proprie esigenze.
Ciao
Pietro
Ma anche io ho adattato il codice al mio e non funzia!!!
dove sbagalio?
Grazie a tutti per l'aiuto
Originariamente inviato da valeria75
Ma anche io ho adattato il codice al mio e non funzia!!!
dove sbagalio?
Grazie a tutti per l'aiutoIo non so:master: Ti posso solo consigliare di partire con calma dal codice che ti hanno passato e che, ripeto, funziona. E poi, aggiungere man mano, le altre procedure, fino a renderlo il più simile al tuo.
Credo che sia comunque una questione di ordine degli eventi.
Pietro
Mandami una mail con la pagina in attachment
Ciao
Kalman
Kalman