Я использую WinForms, framework 4.6.1.
У меня есть два элемента управления DataGridView на TabControl, каждый на своей странице TabPage.
У меня есть два небольших класса, которые я использую в качестве источников данных для каждого отдельного DataGridView. В обоих случаях я создаю List< myClasses >, где myClasses являются одним из
internal sealed class cls_grid
{
public string id { get; set; }
public string value { get; set; }
internal cls_grid(string _id, string _value)
{
id = _id;
value = _value;
}
}
ИЛИ ЖЕ
internal sealed class cls_image
{
public List<cls_image_data_grid>
cls_image_data = new List<cls_image.cls_image_data_grid>();
public string tab_text;
public Bitmap image;
internal class cls_image_data_grid
{
public string id;
public string value;
internal cls_image_data_grid(string _id, string _value)
{
id = _id;
value = _value;
}
}
internal cls_image(string _tab_text, Bitmap _image)
{
tab_text = _tab_text;
image = _image;
}
}
В моих двух DataGridView нет абсолютно НИКАКОЙ разницы; Я могу сказать это с абсолютной уверенностью, потому что у меня есть собственный класс DataGridView, который наследует класс DataGridView фреймворка, поэтому все свойства, которые я установил, действуют на обоих, за исключением, конечно, имени.
Однако мой первый DataGridView, использующий класс cls_grid, заполняется отлично, но мой DataGridView, использующий класс cls_image.cls_image_data_grid, не заполняется. DataGridView создает количество строк, которые присутствуют в списке в данный момент, но в DataGridView нет текста. Даже когда я делаю все свои свойства или свой внутренний класс общедоступными, это не работает.
Если я копирую значения из Список <cls_image.cls_image_data_grid> в Список <cls_grid> и передаю их DataGridView вместо этого, он заполняется отлично.
Итак, теперь мой вопрос: есть ли какие-либо ограничения на DataGridView DataSource и что он будет или не будет принимать, или в чем может быть проблема?
@RezaAghaei Я согласен с тем, что соглашения об именах не совсем такие, какими они должны быть в этом случае, но для этого есть веская причина. Я не думаю, что сетка не заполняется из-за соглашений об именах?
DataSource любит свойства.
@TaW Я такая нана! И вы абсолютно на высоте. Не знаю, как я это пропустил ... иногда нужно всего лишь четыре глаза. Добавлен набор get, и он отлично работает. Спасибо!
@ Bazïnga Они просто неудобны и не вредны.





Взгляните на Правила именования