在GridControl控件上绑定图片的几种操作方式详解

2020-01-05 09:10:12于海丽

创建GridColumn的时候,我们可以利用GridVIew的扩展函数CreateColumn进行创建几个不同的列,如下代码所示。


public partial class FrmRepositoryItemImageEdit : BaseForm
  {
    public FrmRepositoryItemImageEdit()
    {
      InitializeComponent();

      CreateGridView();
    }

    /// <summary>
    /// 创建gridView1列表所需显示的列
    /// </summary>
    private void CreateGridView()
    {
      //创建一个隐藏的ID列
      this.gridView1.CreateColumn("ID", "ID").Visible = false;
      //串一个名称的列,并指定宽度
      this.gridView1.CreateColumn("Name", "名称", 150);

      //创建一个图片路径的列,并指定它的编辑控件类型为RepositoryItemImageEdit
      //并为这个列实现ParseEditValue的方法,用于解析路径为具体的图片显示
      this.gridView1.CreateColumn("ImageFilePath", "图片路径绑定", 100).CreateImageEdit().ParseEditValue += (s, e) =>
      {
        if (e.Value != null && e.Value is string && e.Value.ToString() != string.Empty)
        {
          e.Value = Image.FromFile(string.Concat(e.Value));
          e.Handled = true;
        }
      };

      //创建图片字节的列,用于显示图片
      this.gridView1.CreateColumn("EmbedIcon", "图片字节绑定", 100);
      //创建图片对象的列,用于显示图片
      this.gridView1.CreateColumn("ImageIcon", "图片对象绑定", 100);
    }

上面代码是创建GridView所需要显示的列信息,那么我们准备好数据源绑定到列表控件上就可以了,如下代码所示。


/// <summary>
/// 绑定列表数据
/// </summary>
private void BindData()

{
  //构造只有一个记录的集合
  List<MenuInfo> menuList = new List<MenuInfo>()
  {
    new MenuInfo()
  };
  //绑定数据源到列表控件上
  this.gridControl1.DataSource = menuList;
} 

2、基于分页控件的图片绑定

GridControl,控件,绑定图片