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

radgrid disappear when I click on edit command

1 Answer 536 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Myriam
Top achievements
Rank 1
Myriam asked on 29 Mar 2010, 09:04 PM
Hello
I have 2 radgrids in my page. Both are populated when I click on a button "valider" in my form. When I click on the edit command on one or the other grid, the grid I clicked on disappear. If I click on the edit of the other grid (while the first one is dissapeared), the first one appear in edit mode and the one I just click on, disappear!
Here is my code
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="FEN_ORIENTEUR_MODIFIE_ELEVE.aspx.vb" Inherits="ChoixDeCours.FEN_ORIENTEUR_MODIFIE_ELEVE" %> 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<%@ Register TagPrefix="header" TagName="a" Src="Menu.ascx" %>   
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server">  
    <title>Choix de cours</title> 
</head> 
<body> 
    <form id="form1" runat="server">  
    <header:a ID="A1" runat="server" />   
    <div> 
    <asp:scriptmanager ID="ScriptManager1" runat="server" ></asp:scriptmanager> 
     <table border="3">  
            <tr> 
                <td><asp:Label ID="LbFiche" runat="server" Text="Entrer le numéro de fiche"></asp:Label></td>  
                <td><telerik:RadTextBox runat="server" ID="TxtFiche"></telerik:RadTextBox></td>  
            </tr> 
            <tr> 
                <td colspan="2" align="center"><asp:Button id="Btn_Valider" runat="server" Text="Valider"></asp:Button></td>  
            </tr> 
            <tr> 
                <td colspan="2" align="center"><asp:Label ID="LbPrenom" runat="server"></asp:Label>&nbsp;<asp:Label ID="LbNom" runat="server" ></asp:Label></td>  
            </tr> 
        </table> 
        <br /> 
        <table> 
            <tr> 
                <td> 
                    <telerik:RadGrid ID="RadGridCours" runat="server" Skin="Office2007">  
                        <MasterTableView   
                            AutoGenerateColumns="false"    
                            HierarchyDefaultExpanded="true"   
                            EditMode="InPlace"   
                            CommandItemDisplay="bottom"   
                            CommandItemStyle-HorizontalAlign="Center" 
                            CommandItemSettings-AddNewRecordText="Ajouter un nouveau cours" 
                            CommandItemSettings-RefreshText="Rafraîchir">  
                              
                            <CommandItemSettings   
                                AddNewRecordText="Ajouter un nouveau cours"   
                                RefreshText="Rafraîchir">  
                            </CommandItemSettings> 
                              
                            <Columns> 
                                <telerik:GridEditCommandColumn  
                                    ButtonType="ImageButton"   
                                    UniqueName="EditCommandColumn">  
                                </telerik:GridEditCommandColumn> 
                                  
                                <telerik:GridButtonColumn   
                                    ConfirmText="Supprimer ce cours pour cet élève?"   
                                    ConfirmDialogType="RadWindow"   
                                    ConfirmTitle="Supprimer"   
                                    ButtonType="ImageButton" 
                                    CommandName="Delete"   
                                    Text="Supprimer"   
                                    UniqueName="DeleteColumnCours">  
                                    <ItemStyle HorizontalAlign="Center"  /> 
                                </telerik:GridButtonColumn> 
                                  
                                <telerik:GridBoundColumn   
                                    DataField="FICHE"   
                                    HeaderText="Fiche"   
                                    Visible="false" 
                                    ReadOnly="true">  
                                </telerik:GridBoundColumn> 
                                  
                                <telerik:GridBoundColumn   
                                    DataField="ID_ECO"   
                                    HeaderText="École"   
                                    Visible="false" 
                                    ReadOnly="true">  
                                </telerik:GridBoundColumn> 
                                                                
                                <telerik:GridBoundColumn   
                                    DataField="ID_COURS"   
                                    HeaderText="Cours">  
                                </telerik:GridBoundColumn> 
                                  
                                <telerik:GridBoundColumn   
                                    DataField="DESCRIPTION"   
                                    Headertext="Description">  
                                </telerik:GridBoundColumn> 
                                  
                                <telerik:GridBoundColumn   
                                    DataField="NB_PERIODES"   
                                    HeaderText="Nbs périodes">  
                                </telerik:GridBoundColumn> 
                                  
                                 <telerik:GridBoundColumn   
                                    DataField="PRIORITE"   
                                    HeaderText="Priorité">  
                                </telerik:GridBoundColumn> 
                            </Columns> 
                              
                            <EditFormSettings> 
                            <EditColumn UniqueName="EditCommandColumn1"></EditColumn> 
                            </EditFormSettings> 
 
                            <CommandItemStyle HorizontalAlign="Center"></CommandItemStyle> 
                              
                        </MasterTableView> 
                    </telerik:RadGrid> 
                </td> 
            </tr> 
            <tr> 
                <td> 
                <br /> 
                <telerik:RadGrid ID="RadGridParcours" runat="server" Skin="Office2007">  
                        <MasterTableView   
                            AutoGenerateColumns="false"    
                            HierarchyDefaultExpanded="true"   
                            EditMode="InPlace"   
                            CommandItemDisplay="None">  
                              
                            <Columns> 
                                <telerik:GridEditCommandColumn  
                                    ButtonType="ImageButton"   
                                    UniqueName="EditCommandColumn">  
                                </telerik:GridEditCommandColumn> 
                                  
                                <telerik:GridBoundColumn   
                                    DataField="QUESTION" 
                                    ReadOnly="true"   
                                    HeaderText="Parcours">  
                                </telerik:GridBoundColumn> 
                                  
                                <telerik:GridBoundColumn   
                                    DataField="Choix1"   
                                    HeaderText="Choix de l'élève">  
                                </telerik:GridBoundColumn> 
                            </Columns> 
 
                            <EditFormSettings> 
                            <EditColumn UniqueName="EditCommandColumn1"></EditColumn> 
                            </EditFormSettings> 
 
                            <CommandItemStyle HorizontalAlign="Center"></CommandItemStyle> 
                        </MasterTableView> 
                    </telerik:RadGrid> 
                </td> 
            </tr> 
         </table> 
    </div> 
    </form> 
</body> 
</html> 
 
Imports System.Data.SqlClient  
Imports Telerik.Web.UI  
Partial Public Class FEN_ORIENTEUR_MODIFIE_ELEVE  
    Inherits System.Web.UI.Page  
    Public fonctionsvbs As New fonctionVb  
    Dim dsChoixCoursEleve As New DataSet  
    Dim dsChoixParcoursEleve As New DataSet  
    Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load  
          
    End Sub 
 
    Private Sub Btn_Valider_Click(ByVal sender As ObjectByVal e As System.EventArgs) Handles Btn_Valider.Click  
        CreerGrids()  
    End Sub 
 
    Private Sub CreerGrids()  
        Dim strEleve As String 
        Dim myDaEleve As New SqlDataAdapter  
        Dim cmdEleve As New SqlCommand  
        Dim dsEleve As New DataSet  
        Dim strChoixCoursEleve As String 
        Dim myDaChoixCoursEleve As New SqlDataAdapter  
        Dim cmdChoixCoursEleve As New SqlCommand  
        Dim strChoixParcoursEleve As String 
        Dim myDaChoixParcoursEleve As New SqlDataAdapter  
        Dim cmdChoixParcoursEleve As New SqlCommand  
        Dim MySQLCoursRequis As String 
        Dim myDaCoursRequis As New SqlDataAdapter  
        Dim cmdCoursRequis As New SqlCommand  
        Dim dsCoursRequis As New DataSet  
        Dim strsqlAnglais As String 
        Dim myDaAnglais As New SqlDataAdapter  
        Dim cmdAnglais As New SqlCommand  
        Dim dsAnglais As New DataSet  
 
        strEleve = "SELECT GPM_T_ECO.ANNEE, GPM_E_DAN.STATUT_DON_AN,GPM_E_DAN.CLASSE, GPM_E_ELE.FICHE, GPM_E_ELE.NOM, GPM_E_ELE.PNOM, GPM_E_ADR.ENVOI_MEQ, GPM_E_ADR.DATE_FIN_ADR, GPM_T_ECO.ECO, GPM_T_ECO.ID_ECO" & _  
               " FROM ((GPM_E_DAN INNER JOIN GPM_T_ECO ON GPM_E_DAN.ID_ECO = GPM_T_ECO.ID_ECO) INNER JOIN GPM_E_ELE ON GPM_E_DAN.FICHE = GPM_E_ELE.FICHE) INNER JOIN GPM_E_ADR ON GPM_E_ELE.FICHE = GPM_E_ADR.FICHE" & _  
               " WHERE (((GPM_E_DAN.STATUT_DON_AN)='a') AND ((GPM_E_ELE.FICHE)=" & Me.TxtFiche.Text & ") AND ((GPM_E_ADR.ENVOI_MEQ)='1') AND ((GPM_E_ADR.DATE_FIN_ADR) Is Null) AND ((GPM_T_ECO.ID_ECO)=" & Session("sID_ECO") & "));" 
 
        cmdEleve = New SqlCommand(strEleve, Me.fonctionsvbs.myConnGPI)  
        myDaEleve = New SqlDataAdapter(cmdEleve)  
        Me.fonctionsvbs.myConnGPI.Open()  
        myDaEleve.Fill(dsEleve)  
        Me.fonctionsvbs.myConnGPI.Close()  
 
        If dsEleve.Tables(0).Rows.Count > 0 Then 
            Me.LbNom.Text = dsEleve.Tables(0).Rows(0).Item("NOM")  
            Me.LbPrenom.Text = dsEleve.Tables(0).Rows(0).Item("PNOM")  
            Session("sFiche") = dsEleve.Tables(0).Rows(0).Item("FICHE")  
            Session("sNiveau") = dsEleve.Tables(0).Rows(0).Item("CLASSE")  
 
            strChoixCoursEleve = "SELECT * FROM T_ELEVE_CHOIX_COURS WHERE FICHE=" & Session("sFiche") & " ORDER BY PRIORITE" 
            cmdChoixCoursEleve = New SqlCommand(strChoixCoursEleve, Me.fonctionsvbs.myConnChoixCours)  
            myDaChoixCoursEleve = New SqlDataAdapter(cmdChoixCoursEleve)  
            Me.fonctionsvbs.myConnChoixCours.Open()  
            myDaChoixCoursEleve.Fill(dsChoixCoursEleve)  
            Me.fonctionsvbs.myConnChoixCours.Close()  
            Me.RadGridCours.DataSource = dsChoixCoursEleve  
            Me.RadGridCours.DataBind()  
 
            'Va chercher tous les cours requis  
            MySQLCoursRequis = "SELECT GPM_E_CRS_ELE.FICHE, GPM_E_CRS_ELE.CRS, GPM_T_ECO.ANNEE, GPM_E_CRS_ELE.PRES_CHX_CRS, GPM_T_CRS.NB_PER_CYCLE FROM (GPM_E_CRS_ELE INNER JOIN GPM_T_CRS ON (GPM_E_CRS_ELE.CRS = GPM_T_CRS.CRS) AND (GPM_E_CRS_ELE.ID_ECO = GPM_T_CRS.ID_ECO)) INNER JOIN GPM_T_ECO ON GPM_E_CRS_ELE.ID_ECO = GPM_T_ECO.ID_ECO WHERE (((GPM_E_CRS_ELE.FICHE)=" & Session("sFiche") & ") AND ((GPM_T_ECO.ANNEE)=" & Session("sAnneePrevisionnelle") & ") AND ((GPM_E_CRS_ELE.PRES_CHX_CRS)='1'));" 
            cmdCoursRequis = New SqlCommand(MySQLCoursRequis, Me.fonctionsvbs.myConnGPI)  
            myDaCoursRequis = New SqlDataAdapter(cmdCoursRequis)  
            Me.fonctionsvbs.myConnGPI.Open()  
            myDaCoursRequis.Fill(dsCoursRequis)  
            Me.fonctionsvbs.myConnGPI.Close()  
 
            'Va chercher dans quel parcours l'élève est avec la table T_ELEVE_PARCOURS  
            For Each rowAnglais In dsCoursRequis.Tables(0).Rows  
 
                strsqlAnglais = "SELECT * FROM T_ELEVE_PARCOURS WHERE ID_ECO = " & Session("sID_ECO") & " AND ID_COURS = '" & rowAnglais.Item("CRS").ToString & "'" 
                cmdAnglais = New SqlCommand(strsqlAnglais, Me.fonctionsvbs.myConnChoixCours)  
                myDaAnglais = New SqlDataAdapter(cmdAnglais)  
                Me.fonctionsvbs.myConnChoixCours.Open()  
                myDaAnglais.Fill(dsAnglais)  
                Me.fonctionsvbs.myConnChoixCours.Close()  
 
                If dsAnglais.Tables(0).Rows.Count > 0 Then 
                    Session("sParcours") = dsAnglais.Tables(0).Rows(0).Item("PARCOURS")  
                    Exit For 
                End If 
            Next 
 
            strChoixParcoursEleve = "SELECT T_PARCOURS_CHOIX.QUESTION, T_PARCOURS_CHOIX.NIVEAU, T_ELEVE_CHOIX_PARCOURS.FICHE, T_PARCOURS_CHOIX.ID_ECO, T_PARCOURS_CHOIX.[ACTIF], CASE WHEN CHOIX=0 THEN 'Non' ELSE 'Oui' END AS Choix1, T_PARCOURS_CHOIX.PARCOURS FROM T_ELEVE_CHOIX_PARCOURS INNER JOIN T_PARCOURS_CHOIX ON (T_ELEVE_CHOIX_PARCOURS.PARCOURS = T_PARCOURS_CHOIX.POUR_QUEL_PARCOURS) AND (T_ELEVE_CHOIX_PARCOURS.ID_ECO = T_PARCOURS_CHOIX.ID_ECO) WHERE (((T_PARCOURS_CHOIX.NIVEAU)=" & Session("sNiveau") & ") AND ((T_ELEVE_CHOIX_PARCOURS.FICHE)=" & Session("sFiche") & ") AND ((T_PARCOURS_CHOIX.ID_ECO)=" & Session("sID_ECO") & ") AND ((T_PARCOURS_CHOIX.[ACTIF])=1)AND ((T_PARCOURS_CHOIX.PARCOURS)='" & Session("sParcours") & "'))" 
            cmdChoixParcoursEleve = New SqlCommand(strChoixParcoursEleve, Me.fonctionsvbs.myConnChoixCours)  
            myDaChoixParcoursEleve = New SqlDataAdapter(cmdChoixParcoursEleve)  
            Me.fonctionsvbs.myConnChoixCours.Open()  
            myDaChoixParcoursEleve.Fill(dsChoixParcoursEleve)  
            Me.fonctionsvbs.myConnChoixCours.Close()  
            Me.RadGridParcours.DataSource = dsChoixParcoursEleve  
            Me.RadGridParcours.DataBind()  
 
 
        End If 
    End Sub 
 
    Private Sub RadGridCours_DeleteCommand(ByVal source As ObjectByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridCours.DeleteCommand  
 
    End Sub 
 
    Private Sub RadGridCours_InsertCommand(ByVal source As ObjectByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridCours.InsertCommand  
 
    End Sub 
 
    Private Sub RadGridCours_UpdateCommand(ByVal source As ObjectByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridCours.UpdateCommand  
 
    End Sub 
 
    Private Sub RadGridParcours_UpdateCommand(ByVal source As ObjectByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridParcours.UpdateCommand  
 
    End Sub 
End Class 
Any idea??
Thank you

1 Answer, 1 is accepted

Sort by
0
Accepted
Shinu
Top achievements
Rank 2
answered on 30 Mar 2010, 07:53 AM

Hello Myriam,

One suggestion would be using NeedDataSource event ot populate the grids. Initially set the Visible proeprty of the grids to false and in the buttonclick event set the property to True, then invoke the Rebind() method which will in turn fire the NeedDataSource event. Here is the example of code that I tried.

C#:

 
Protected Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgs)  
    RadGrid1.Visible = True  
    RadGrid1.Rebind()  
    RadGrid2.Visible = True  
    RadGrid2.Rebind()  
End Sub  
Protected Sub RadGrid2_NeedDataSource(ByVal source As ObjectByVal e As GridNeedDataSourceEventArgs)  
    RadGrid1.DataSource = getDataTable2()  ' Set the DataSource  
End Sub  
Protected Sub RadGrid1_NeedDataSource1(ByVal source As ObjectByVal e As GridNeedDataSourceEventArgs)  
    RadGrid2.DataSource = getDataTable1()  ' Set the DataSource  
End Sub 

-Shinu.

Tags
Grid
Asked by
Myriam
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Share this question
or