DataGridView read only sauf ajout

olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 5 mars 2008 à 17:31
cs_MoKaLux Messages postés 39 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 27 mars 2009 - 16 janv. 2009 à 23:25
Bonjour

J'ai un datagridview avec une colonne checkbox définie manuellement et le reste ajouté par un query

J'essaye de faire deux chose
1- Rendre le DGV readonly SAUF la colonne check box :
 
DGV.Rows.Columns[0].Readonly=false;

La colonne 0 reste read only

2- Rendre le DGV readonly MAIS permettre l'ajout d'une ligne : ca marche pas non plus

QQ a des idées ?

8 réponses

cs_MoKaLux Messages postés 39 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 27 mars 2009 1
15 janv. 2009 à 23:27
Salut,

J'ai le même pb, un datagridview que je peux pas éditer car en readonly.
Le datagridview est lié à un dataset c ce qui le rend read only je crois.

DGV.Rows.Columns[0].Readonly=false;
Ca marche pas :-(

Comment faire ?

SVP
1
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
16 janv. 2009 à 08:20
Le datagridview est lié à un dataset c ce qui le rend read only
je crois.



Non ! ce n'est pas une condition faisant que le dgv est read only !
0
cs_MoKaLux Messages postés 39 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 27 mars 2009 1
16 janv. 2009 à 18:52
Salut,
en fait une personne de chez MS section SQL m'a répondu que c le fait d'avoir rempli mon datagridview avec des query linq le probleme.

Effectivement lorsque je crée mes colonnes et mes lignes dans le dataset puis dans le datagridview elles ne sont plus de type columns et rows, elles deviennent anonymous donc read-only donc peut pas modifier :-(

J'essaie de modifier mes rows avant le traitement en dataset et datagridview mais je vois pas trop... je continue.

Au cas où...
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
16 janv. 2009 à 21:52
Tu dois faire une datatable et la mettre en datasource de ton DGV
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MoKaLux Messages postés 39 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 27 mars 2009 1
16 janv. 2009 à 22:42
aurais-tu un bout de code stp ?

DataTable fichierExcel = GetFeuilleFichierExcel(documentTitle,
"myexcelsheet1");

if (fichierExcel !=
null && fichierExcel.Rows.Count > 0){

var toutExcel =
from cellules
in fichierExcel.AsEnumerable()

where cellules.IsNull(fichierExcel.Columns[2]) ==
false
// filtre les ticker non nuls&& cellules.IsNull(fichierExcel.Columns[9]) ==

false
// + filtre les pyc non nuls

select
new{

myticker = cellules.Field<

string>(fichierExcel.Columns[2]),
mycourspyc = cellules.Field<

double>(fichierExcel.Columns[9]),

};

var injectie =
from inj
in toutExcel.ToList()
//.Distinct()

select
new{

myticker = inj.myticker,

mycourspyc = inj.mycourspyc,

};

// affiche le tableau excel dans la datagridview1dataGridView1.DataSource = injectie.ToList();

MON CODE EST TRES DIRECT C POUR CA QUE J'AIME BIEN LINQ MAIS COMMENT MODIFIER DES CELLULES DS MON DGV ?
COMMENT FAIRE AVEC UNE DATATABLE ET OU LA METTRE DANS MON CODE STP ???
0
cs_MoKaLux Messages postés 39 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 27 mars 2009 1
16 janv. 2009 à 22:55
wouaw je sais plus ce que je fais !!!
bien sûre g une datatable :-|)

EN DEBUT DE CODE !!!

J'ESSAI DE CONTOURNER MON PB DE MILLE FACON, LA J'ESSAI DE RECREER UN DATASOURCE A PARTIR DE MA DGV1 POUR REMPLIR UNE AUTRE DGV2 QUI NE SERA PLUS READONLY J'ESPERE

RELAX
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
16 janv. 2009 à 23:06
DataTable fichierExcel = GetFeuilleFichierExcel(documentTitle, "myexcelsheet1"
);
DataView dtv=new DataView(fichierExcel);
dtv.RowFilter="Documente toi sur les rowfilter";



MonDgv.DataSource=dtv,




// Evite les Form1, form2, datagridview1,datagridview2 etc..

Ton probleme c'est que le Tolist que tu emploie te rends une liste or pour pouvoir mettre a jour une liste bindée sur un DGV, tu dois soit utiliser un BinDingSource entre ta liste et le DGV, soit mettre une interface sur ta liste






 
0
cs_MoKaLux Messages postés 39 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 27 mars 2009 1
16 janv. 2009 à 23:25
c vraiment cool de ta part de m'aider. J'apprécie vraiment.

J'espère que tu as résolu le pb que tu avais posté.

Je vais rechercher dans la direction que tu m'as indiqué.

Encore merci
0
Rejoignez-nous