Кажется, что из-за неизвестной причины я теперь не могу редактировать что-либо в моем DataGridView.Значение свойства ReadOnly в DGV равно false, и для всех столбцов, кроме одного, свойство ReadOnly также имеет значение false.
Я начинаю думать, что это может быть связано со специальным значением, которое я пытался добавить водин из моих классов, тот, который я только хотел изменить в классе, но все же читать только для публики.Я не думаю, что это значение мешает с чем-то еще, но тем не менее, вот соответствующая часть моего кода:
private void loaderWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
loadingBar.Value = e.ProgressPercentage;
if (e.UserState != null)
{
savefiles.Add((SaveFile)e.UserState);
}
}
Где savefiles - это BindingList, а SaveFile - это мой класс:
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 - это то особенное свойство, о котором я упоминал ранее.У него нет функции set, но в соответствии с this я должен быть в чистоте, верно?
Может кто-нибудь тогда сказать мне, почему я не могу редактировать какие-либо изячейки DGV?
РЕДАКТИРОВАТЬ: Я только что обнаружил, что не установка AutoGenerateColumns в ложь позволяет мне редактировать снова, но я до сих пор не знаю, почему.