在Sqlite数据库的DataGridViewImageColumn [Winform]中显示图像

时间:2010-06-25 10:14:01

标签: c# image data-binding datagridview system.data.sqlite

我有一个sqlite数据库,我从哪里检索图像。我必须将这些图像显示到windows datagrid中。对于绑定,我有Class Called COntacts,如下所示

namespace ContactManager.Core
{
    public class Contacts
    {
        private long _id = 0;

        public long Id
        {
            get { return _id; }
            set { _id = value; }
        }
        private string _Name = string.Empty;

        public string Name
        {
            get { return _skypeName; }
            set { _skypeName = value; }
        }
        private string _displayName = string.Empty;

        public string DisplayName
        {
            get { return _displayName; }
            set { _displayName = value; }
        }
        private long _birthday = 0;

        public long BirthDay
        {
            get { return _birthday; }
            set { _birthday = value; }
        }

        private string _province = string.Empty;

        public string Province
        {
            get { return _province; }
            set { _province = value; }
        }
        private long _phone_home = 0;

        public long Phone_Home
        {
            get { return _phone_home; }
            set { _phone_home = value; }
        }
        private long _phone_mobile = 0;

        public long Phone_Mobile
        {
            get { return _phone_mobile; }
            set { _phone_mobile = value; }
        }

        private string _mood_text = string.Empty;

        public string Mood_Text
        {
            get { return _mood_text; }
            set { _mood_text = value; }
        }

       private byte[] _avatar_image = new byte[4096];
       public byte[] Avatar_Image
       {
           get{return _avatar_image;}
           set{_avatar_image = value;}
       }


    }
}

所以我的第一个问题是我应该在这个联系人类中创建什么类型的属性来保存图像数据。 我在runime创建datagridviewcolumns。代码如下

DataGridViewImageColumn dgvImColAvatar = new DataGridViewImageColumn();
dgvImColAvatar.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dgvImColAvatar.HeaderText = "Avatar";
dgvImColAvatar.DataPropertyName = "Avatar";

但是当我执行应用程序时,它向我展示了一些具有NullReference异常的TargetInvocation异常。 所以请帮我从db中检索图像数据并使用类,属性和集合绑定它。在他们之间,我使用MapperBase<T>自动为属性赋值。

1 个答案:

答案 0 :(得分:0)

Aland Li的回复详述了如何处理CellFormatting以便为网格创建图像:

http://social.msdn.microsoft.com/Forums/en/winformsdesigner/thread/2343891f-59ea-482f-8a5e-e9aa68eacd81