У меня есть DatagridView с источником данных, но мой datagridview рисует только 1 строку.DataGridView только 1 показать 1 строку
Мой код что-то вдоль этих линий:
Декларация Список
List<Texture> LoadedTextures = new List<Texture>();
Custum Datasource Объект
public class Texture
{
public Image Image { get; set; }
public string Name { get; set; }
}
Добавление Метод
private void LoadImage(string FileName)
{
FileInfo file = new FileInfo(FileName);
if (LoadedTextures.Count > 0 &&
LoadedTextures.Where(x => x.Name == file.Name).Count() > 0)
{
MessageBox.Show("Already a texture with that name", "error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Bitmap newImage = new Bitmap(CurrLevel.TileWidth, CurrLevel.TileHeight);
using (Graphics gr = Graphics.FromImage(newImage))
{
gr.SmoothingMode = SmoothingMode.AntiAlias;
gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
gr.DrawImage(Image.FromFile(FileName),
new Rectangle(0, 0, CurrLevel.TileWidth, CurrLevel.TileWidth));
}
var text = new Texture
{
Image = (Image)newImage,
Name = file.Name
};
LoadedTextures.Add(text);
if(Tiles.DataSource == null)Tiles.DataSource = LoadedTextures;
}
При отладке я также заметил, что мой Datasource содержит загруженные элементы, но datagridview рисует только одну строку.
P.S: Я попытался, DataGridView.Refresh(), DataGridView.RefreshEdit(), назначая источник данных каждый раз при внесении изменений, но ни одна из них не помогла.
Мое приложение - приложение для Windows Form, я также добавил кнопку для проверки количества и добавления нового элемента, счетчик которого увеличивается, но он все еще отображает 1 строку – Svexo