2010-12-12 2 views
1

Es scheint, dass ich aufgrund einer unbekannten Ursache jetzt nichts in meinem DataGridView bearbeiten kann. Der ReadOnly-Eigenschaftswert der DGV ist falsch, und für alle Spalten mit Ausnahme einer Spalte ist die ReadOnly-Eigenschaft ebenfalls auf "false" gesetzt.Kann Werte in einem DataGridView (mit BindingList) nicht bearbeiten

Ich fange an zu denken, dass es wegen eines besonderen Wertes sein kann, den ich versuchte, einer meiner Klassen hinzuzufügen, eine, die ich nur innerhalb der Klasse geändert werden wollte, aber immer noch nur für die Öffentlichkeit gelesen. Ich glaube nicht, dass Wert mit etwas durcheinander sonst, aber nichtsdestoweniger, hier ist der relevante Teil meines Codes:

 private void loaderWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) 
    { 
     loadingBar.Value = e.ProgressPercentage; 
     if (e.UserState != null) 
     { 
      savefiles.Add((SaveFile)e.UserState); 
     } 
    } 

Wo savefiles ist ein Binding, und wo Savefile ist meine Klasse:

public class SaveFile 
{ 
    private string d_directory; 
    private int d_weirdnumber; 
    private bool d_isautosave; 
    private string d_fullname; 
    private string d_datatype; 
    private string d_owner; 
    private bool d_isquicksave; 
    private string d_title; 
    private string d_gametime; 

    public SaveFile() { } 

    public SaveFile(string directory, int weirdnumber, bool isautosave, string fullname, string datatype, string owner, bool isquicksave, string title) 
    { 
     d_directory = directory; 
     d_weirdnumber = weirdnumber; 
     d_isautosave = isautosave; 
     d_fullname = fullname; 
     d_datatype = datatype; 
     d_owner = owner; 
     d_isquicksave = isquicksave; 
     d_title = title; 
    } 

    public string Gametime 
    { 
     get { return d_gametime; } 
    } 

    public string Datatype 
    { 
     get { return d_datatype; } 
     set { d_datatype = value; } 
    } 

    public string Title 
    { 
     get { return d_title; } 
     set { d_title = value; } 
    } 

    public bool IsQuickSave 
    { 
     get { return d_isquicksave; } 
     set { d_isquicksave = value; } 
    } 

    public bool IsAutoSave 
    { 
     get { return d_isautosave; } 
     set { d_isautosave = value; } 
    } 

    public string Directory 
    { 
     get { return d_directory; } 
     set { d_directory = value; } 
    } 

    public string FullName 
    { 
     get { return d_fullname; } 
     set 
     { 
      d_fullname = value; 
      string[] split = value.Split(new char[]{'-'}); 
      foreach (string str in split) 
      { 
       if (System.Text.RegularExpressions.Regex.IsMatch(str, "^\\d\\d:\\d\\d:\\d\\d$")) 
       { 
        d_gametime = str; 
       } 
      } 
     } 
    } 

    public int Weirdnumber 
    { 
     get { return d_weirdnumber; } 
     set { d_weirdnumber = value; } 
    } 

    public string Owner 
    { 
     get { return d_owner; } 
     set { d_owner = value; } 
    } 
} 

Gametime ist die spezielle Eigenschaft, die ich bereits erwähnt habe. Es hat keine eingestellte Funktion, aber laut this sollte ich im Klaren sein, oder?

Kann mir dann jemand sagen, warum ich nicht in der Lage bin, irgendwelche der DGV-Zellen zu bearbeiten?

EDIT: Ich habe gerade herausgefunden, dass nicht Autogeneratecolumns auf false ermöglicht es mir, wieder zu bearbeiten, aber ich weiß noch nicht, warum.

Antwort

3

Nach einigen Stunden hat sich ein Freund endlich über Remote Desktop angeschaut. Er hat eine Funktion geschrieben, die alle Spalten dazu zwingt, einen nicht schreibgeschützten Status zu haben. Also haben wir uns die Spalteneigenschaften im Editor angeschaut und irgendwie ... ich weiß nicht warum ... sie waren alle auf Read only gesetzt. Ich schwöre, ich habe sie vorher 4 Mal überprüft.

Die Lektion dieser Geschichte (ich denke): Überprüfen Sie im Zweifelsfall Ihre Einstellungen. Wenn Sie nicht zweifeln, werden Sie zweifelhaft. Andernfalls melden Sie einen Fehlerbericht an Microsoft: \

+0

Ich habe gerade das gleiche Problem erlebt. Lektion gelehnt: vertraue VS Designer nicht (VS2012) – nf313743

Verwandte Themen