[Débutant] Modifier un tableau dynamiquement dans le workflow

Bonjour,

je débute le développement workflow et je suis bloquée sur la mise à jour dynamique d’un tableau.
J’ai 4 colonnes et sur le “ontextchanged” de la 1ère colonne, j’appelle la procédure pour qu’elle alimente la 2è colonne … et je bloque.

Ci-dessous la procédure

*protected void libelle_sle (object sender, EventArgs e) *

  •      {*
    
  •                SqlDataSource DDL_SERV_SQLDATASOURCE_LIBPROD = new SqlDataSource();*
    
  •                *
    
  •                *
    
  •                DDL_SERV_SQLDATASOURCE_LIBPROD.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Oracle_Prod_CGAN"].ToString(); *
    
  •                DDL_SERV_SQLDATASOURCE_LIBPROD.ProviderName = System.Configuration.ConfigurationManager.ConnectionStrings["Oracle_Prod_CGAN"].ProviderName;*
    
  •                    *
    
  •                DDL_SERV_SQLDATASOURCE_LIBPROD.SelectCommand = "SELECT NOM_PROD FROM PRODUIT WHERE COD_PROD ="+ this.DEMANDE_GRIDVIEW1.Rows[this.DEMANDE_GRIDVIEW1.EditIndex].Cells[2].Text;*
    
  •                DDL_SERV_SQLDATASOURCE_LIBPROD.CancelSelectOnNullParameter = false; *
    
  •                    *
    
  •                DEMANDE_LISTEDEROULANTE2.DataSource = DDL_SERV_SQLDATASOURCE_LIBPROD;*
    
  •                DEMANDE_LISTEDEROULANTE2.DataValueField = "NOM_PROD";*
    
  •                DEMANDE_LISTEDEROULANTE2.DataTextField = "NOM_PROD";*
    
  •                DEMANDE_LISTEDEROULANTE2.DataBind();*
    
  •                      *
    
  •                *
    
  •                DEMANDE_GRIDVIEW1.Rows[this.DEMANDE_GRIDVIEW1.EditIndex].Cells[3].Text = " +DEMANDE_LISTEDEROULANTE2.Text;*
    
  •   	}*
    

Merci de votre indulgence :wink:

Bonjour.

Voici un extrait de code utilisé pour ajouter une ligne dans un GridView.

Je pense que cela peut aider. Je passe par le formdata pour faire cela. (à confirmer par les équipes de l’éditeur qui passent par ici pour valider que c’est la bonne méthode :-)) Le code suivant est inclus dans une fonction qui peut être déclenchée en PostBack.

System.Data.DataRow row = this.FormData.Tables[“S_SAISIR_GV_RATTACHEMENT”].NewRow();
row[column1] = i_val1;
row[column2] = i_val2;
row[column3] = i_val3;

this.FormData.Tables[“S_SAISIR_GV_RATTACHEMENT”].Rows.Add(row);
this.FormData.Tables[“S_SAISIR_GV_RATTACHEMENT”].AcceptChanges();
this.SaveFieldsData(this.FormData);
this.SaveFormData(this.FormData);
this.BindFormDataToFields(this.FormData);

++

1 Like

Merci je vais pouvoir avancer.

Bonjour sandral ,
au fait je suis débutante sur le développement workflow et je sollicite votre aide .
je voudrais remplir une gridview à travers une table sql mais je ne sais as comment procéder.
Merci

Bonjour,
Votre demande est bien trop large.

Votre requete SQL est elle fonctionnelle ?
Arrivez vous déjà à interroger la base SQL depuis workflowgen ?
Si vous arrivez à avoir les données SQL, l’alimentation de la Grid View peut se faire avec le code mentionné plus haut.

Cdlt

Bonjour nvarlet ,
En fait j’ai pu avancer sur le code mais je n’arrive pas encore à bien récupérer mes données sql dans ma gridview.

Mon code est le suivant

System.Data.SqlClient.SqlConnection sqlConnection =new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings[“Constellation”].ToString());

private void test()

{
** string queryString = “SELECT RISKCUSTOMEROID, LEGALNAME,CLIENTTYPE,CURRENTLIMIT,NEWLIMIT,REQUESTDATE,DATELASTREVIEW,VALIDATIONDATE FROM dbo.LimitReviewWFG”;**


** using(System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings[“Constellation”].ToString()))**
** {**
** System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(queryString, sqlConnection);**


** sqlConnection.Open();**


** using (System.Data.SqlClient.SqlDataReader reader = command.ExecuteReader())**



** {**
** if (reader.HasRows)**
** { **
** this.FormData.Tables[“LIMIT_REVIEW_GRIDVIEW”].Rows.Clear();**


** while (reader.Read())**
** {**


** System.Data.DataRow newRow = this.FormData.Tables[“LIMIT_REVIEW_GRIDVIEW”].NewRow();**
** newRow[0] = reader[0];**
** newRow[1] = reader[1];**
** newRow[2] = reader[2];**
** newRow[3] = reader[3];**
** newRow[4] = reader[4];**
** newRow[5] = reader[5];**
** newRow[6] = reader[6];**
** newRow[7] = reader[7];**


** this.FormData.Tables[“LIMIT_REVIEW_GRIDVIEW”].Rows.Add(newRow);**
** this.FormData.Tables[“LIMIT_REVIEW_GRIDVIEW”].AcceptChanges();**



** }**
** }**
** }**
** sqlConnection.Close();**
** this.SaveFormData(this.FormData);**
** this.BindFormDataToFields(this.FormData);**



** }**
}

Est ce que vous pourriez m’aider s’il vous plait.

Cordialement

Bonjour,
La première étape va être de savoir exactement ce qui ne marche pas : la requete SQL ramène-t-elle bien des données ou est-ce l’alimentation de la grid view qui pose souci ?

Je vous propose de créer un champ texte temporaire dans votre formulaire.
Dans votre code, lancez la requète SQL dans un try and catch. Dans le catch, mettez l’erreur dans votre champ texte temporaire (si y’a une erreur).
Dans votre try, alimentez votre champ texte avec les résultats de la query (reader[0] et reader[1] par exemple pour vérifier qu’il y a bien des données qui sont récupérées.

Cdlt

Bonjour,
j’ai procédé comme vous m’avez dit mais je récupére aucune donnée.
Pourtant j’ai bien ma table sql et j’ai bien écrit le code .
Dans ce cas qu’est ce que je porrai faire ?

Merci

Bonjour,
Ce que je fais dans un tel cas :
→ Je mets dans un champ texte du workflow la query que je vais envoyer.
→ Je vais sur le serveur de BdD et je lance la query via Microsoft Server Managment.

1 Like