This is a migrated thread and some comments may be shown as answers.

problems with radgrid parameters

3 Answers 164 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Robert
Top achievements
Rank 2
Robert asked on 20 Dec 2011, 06:57 AM
hello i am new using teleriks controls well i am new in asp.net too, i have some problems, i am using a radgrid than could update some information, in the sql statements of update i have two conditions  COD_COMPRA that i call from textbox and COD_MATPRI, the first one is all good but when i try to use both COD_MATPRI and COD_COMPRA not update anything...this is my code i hope u can help me

<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource5"
            GridLines="None" AllowAutomaticUpdates="True"
            AutoGenerateEditColumn="True" AllowAutomaticInserts="True">
            <MasterTableView AutoGenerateColumns="False" DataKeyNames="COD_MATPRIMA"
                DataSourceID="SqlDataSource5" EditMode="InPlace">
                <Columns>
                    <telerik:GridBoundColumn DataField="COD_MATPRIMA" HeaderText="COD_MATPRIMA"
                        ReadOnly="True" SortExpression="COD_MATPRIMA" UniqueName="COD_MATPRIMA">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="NOMMATPRI"
                        HeaderText="NOMMATPRI" SortExpression="NOMMATPRI"
                        UniqueName="NOMMATPRI">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="CANTIDAD" HeaderText="CANTIDAD"
                        SortExpression="CANTIDAD" UniqueName="CANTIDAD" DataType="System.Single">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="NOMBREMEDIDA"
                        HeaderText="NOMBREMEDIDA" SortExpression="NOMBREMEDIDA"
                        UniqueName="NOMBREMEDIDA">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="PRECIO" HeaderText="PRECIO"
                        SortExpression="PRECIO" UniqueName="PRECIO" DataType="System.Decimal">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="TOTAL" DataType="System.Single"
                        HeaderText="TOTAL" SortExpression="TOTAL" UniqueName="TOTAL"
                        ReadOnly="True">
                    </telerik:GridBoundColumn>
                </Columns>
              <EditFormSettings>
                  <EditColumn UniqueName="
EditCommandColumn1">
                  </EditColumn>
              </EditFormSettings>
            </MasterTableView>
        </telerik:RadGrid>
      
        <asp:SqlDataSource ID="SqlDataSource5" runat="server"
            ConnectionString="<%$ ConnectionStrings:SICI2.0ConnectionString2 %>"
           
           
            SelectCommand="SELECT TBL_MATERIAPRIMA.COD_MATPRIMA, TBL_MATERIAPRIMA.NOMMATPRI, TBL_COM_MP.CANTIDAD, TBL_MEDIDA.NOMBREMEDIDA, TBL_COM_MP.PRECIO, TBL_COM_MP.CANTIDAD * TBL_COM_MP.PRECIO AS TOTAL FROM TBL_COMPRA INNER JOIN TBL_COM_MP ON TBL_COMPRA.COD_COMPRA = TBL_COM_MP.COD_COMPRA INNER JOIN TBL_MATERIAPRIMA ON TBL_COM_MP.COD_MATPRIMA = TBL_MATERIAPRIMA.COD_MATPRIMA INNER JOIN TBL_MEDIDA ON TBL_MATERIAPRIMA.COD_MEDIDA = TBL_MEDIDA.COD_MEDIDA WHERE (TBL_COMPRA.COD_COMPRA = @id_compra)"
            UpdateCommand="UPDATE TBL_COM_MP SET CANTIDAD = @cantidad, PRECIO = @precio WHERE (COD_COMPRA=@id_compra and COD_MATPRIMA=@cod_matprima) "> 
           
            <SelectParameters>
                <asp:ControlParameter ControlID="txtnumorden" Name="id_compra"
                    PropertyName="Text" />
            </SelectParameters>
            <UpdateParameters>
                <asp:Parameter Name="cod_matprima"/>
                <asp:Parameter Name="cantidad"/>
                <asp:Parameter Name="precio" />
                <asp:ControlParameter ControlID="txtnumorden" Name="id_compra"
                    PropertyName="Text" />
               
            </UpdateParameters>
        </asp:SqlDataSource>
 the second question is what can i do if i want to refresh when i update the radgrid... other part of my webpage... i mean i have radgrid and from data of the radgrid i have to calculate the total, IVA, etc or maybe refresh the enterire page  thanks

3 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 20 Dec 2011, 09:12 AM
Hello,

Try setting the DataKeyNames as COD_MATPRIMA and COD_COMPRA. Also RadGrid refreshes automatically when updation takes place.
Take a look into the following documentation for more.
Automatic DataSource Operations

-Shinu.
0
Robert
Top achievements
Rank 2
answered on 20 Dec 2011, 03:39 PM
thanks for ur help i write the type of the parameter to String and that is the solution :) my other question, i will try to explain: in my radgrid i have a field that return me Total of Sales, i calculate in my sql that operation but out of my grid i need to use that field of the grid i have to do some operations, in my code i calculate in the code behind page those operations are realized in the moment than i push a button and automatically my grid show the operation that u see and out of my grid in 3 radtextbox the result of operations... so my problem is than when i edit like my last problem ... only radgrid refresh and i want to refresh to my 3 textbox :( thanks again i hope you understand me and sorry for my Bad English .

this is my code again :

<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource5"
            GridLines="None" AllowAutomaticUpdates="True"
            AutoGenerateEditColumn="True" AllowAutomaticInserts="True">
            <MasterTableView AutoGenerateColumns="False" DataKeyNames="COD_MATPRIMA"
                DataSourceID="SqlDataSource5" EditMode="InPlace">
                <Columns>
                    <telerik:GridBoundColumn DataField="COD_MATPRIMA" HeaderText="COD_MATPRIMA"
                        ReadOnly="True" SortExpression="COD_MATPRIMA" UniqueName="COD_MATPRIMA">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="NOMMATPRI"
                        HeaderText="NOMMATPRI" SortExpression="NOMMATPRI"
                        UniqueName="NOMMATPRI">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="CANTIDAD" HeaderText="CANTIDAD"
                        SortExpression="CANTIDAD" UniqueName="CANTIDAD" DataType="System.Single">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="NOMBREMEDIDA"
                        HeaderText="NOMBREMEDIDA" SortExpression="NOMBREMEDIDA"
                        UniqueName="NOMBREMEDIDA">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="PRECIO" HeaderText="PRECIO"
                        SortExpression="PRECIO" UniqueName="PRECIO" DataType="System.Decimal">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="TOTAL" DataType="System.Single"
                        HeaderText="TOTAL" SortExpression="TOTAL" UniqueName="TOTAL"
                        ReadOnly="True">
                    </telerik:GridBoundColumn>
                </Columns>
              <EditFormSettings>
                  <EditColumn UniqueName="EditCommandColumn1">
                  </EditColumn>
              </EditFormSettings>
            </MasterTableView>
        </telerik:RadGrid>
       
        <asp:SqlDataSource ID="SqlDataSource5" runat="server"
            ConnectionString="<%$ ConnectionStrings:SICI2.0ConnectionString2 %>"
            
            
            SelectCommand="SELECT TBL_MATERIAPRIMA.COD_MATPRIMA, TBL_MATERIAPRIMA.NOMMATPRI, TBL_COM_MP.CANTIDAD, TBL_MEDIDA.NOMBREMEDIDA, TBL_COM_MP.PRECIO, TBL_COM_MP.CANTIDAD * TBL_COM_MP.PRECIO AS TOTAL FROM TBL_COMPRA INNER JOIN TBL_COM_MP ON TBL_COMPRA.COD_COMPRA = TBL_COM_MP.COD_COMPRA INNER JOIN TBL_MATERIAPRIMA ON TBL_COM_MP.COD_MATPRIMA = TBL_MATERIAPRIMA.COD_MATPRIMA INNER JOIN TBL_MEDIDA ON TBL_MATERIAPRIMA.COD_MEDIDA = TBL_MEDIDA.COD_MEDIDA WHERE (TBL_COMPRA.COD_COMPRA = @id_compra)"
            
            UpdateCommand="UPDATE TBL_COM_MP SET CANTIDAD = @cantidad, PRECIO = @precio WHERE (COD_COMPRA = @id_compra) AND (COD_MATPRIMA = @cod_matprima)">  
            
            <SelectParameters>
                <asp:ControlParameter ControlID="txtnumorden" Name="id_compra"
                    PropertyName="Text" />
            </SelectParameters>
            <UpdateParameters>
                <asp:Parameter Name="cantidad"/>
                <asp:Parameter Name="precio" />
                <asp:ControlParameter ControlID="txtnumorden" Name="id_compra"
                    PropertyName="Text" />
                
                <asp:Parameter Name="cod_matprima" Type="String"/>
                
            </UpdateParameters>
        </asp:SqlDataSource>
         
        
    </td></tr></table>
    <table width="100%">
    <tr>
    <td width="140px">Monto&nbsp;&nbsp;&nbsp;&nbsp; $</td>
    <td>    <telerik:RadTextBox ID="txtmonto" runat="server" Width="150px">
        </telerik:RadTextBox>
    </td>
    </tr>
    <tr>
    <td width="140px">IVA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $</td>
    <td>    <telerik:RadTextBox ID="txtiva" runat="server" Width="150px">
        </telerik:RadTextBox>
    </td>
    </tr>
    <tr>
    <td width="140px">TOTAl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $</td>
    <td>    <telerik:RadTextBox ID="txttotal" runat="server" Width="150px">
        </telerik:RadTextBox>
    </td>
    </tr>
    </table>


and


 If dscompra.Tables(0).Rows.Count > 0 Then
            txtnumorden.Text = dscompra.Tables(0).Rows(0)("COD_COMPRA")
            RadDatePicker1.SelectedDate = dscompra.Tables(0).Rows(0)("FECHCOMPRA")
            txtcodprov.Text = dscompra.Tables(0).Rows(0)("COD_PROVEE")
            txtpercontact.Text = dscompra.Tables(0).Rows(0)("CONTACTO")
            txtdiascred.Text = dscompra.Tables(0).Rows(0)("DIASCREDITO")
            proveedor.SelectedValue = dscompra.Tables(0).Rows(0)("COD_PROVEE")
            RadDatePicker2.SelectedDate = dscompra.Tables(0).Rows(0)("FECHAENTREGA")
            formaspago.SelectedValue = dscompra.Tables(0).Rows(0)("FORMAPAGO")
            direccionentrega.Text = dscompra.Tables(0).Rows(0)("DIRENTREGA")
            tipocomprobante.SelectedValue = dscompra.Tables(0).Rows(0)("TIPOCOMPROBANTE")
            txtobservaciones.Text = dscompra.Tables(0).Rows(0)("OBSERVACIONES")

            Dim total As Single = 0
            Dim suma
            Dim x = dscompra.Tables(0).Rows.Count - 1
            For i = 0 To x
                suma = dscompra.Tables(0).Rows(i)("TOTAL")
                total = total + suma

            Next i
            txtmonto.Text = total
            txtiva.Text = Val(txtmonto.Text) * 0.13
            txttotal.Text = Val(txtmonto.Text) + Val(txtiva.Text)

            Conn.Close()
0
Antonio Stoilkov
Telerik team
answered on 23 Dec 2011, 01:21 PM
Hi Robert,

Based on your description and code I have assembled a sample project demonstrating the desired functionality. You could look at it and base your solution on it.

All the best,
Antonio Stoilkov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
Tags
General Discussions
Asked by
Robert
Top achievements
Rank 2
Answers by
Shinu
Top achievements
Rank 2
Robert
Top achievements
Rank 2
Antonio Stoilkov
Telerik team
Share this question
or