Devexpress TileView 数据源
Devexpress TileView Datasource
我有一个 Devexpress winforms GridView
,我想将其转换为 TileView
。这是我在 运行 时间的 GridView
:
此 GridView 是使用 List 数据源填充的,并且工作正常。我使用设计器将 GridView
转换为 TileView
:
成功转换GridView后,我尝试运行App,它显示正确的记录数,但它是空白:
我错过了什么吗?这是填充网格的代码:
using (var sovDB = new MyEntities())
{
gridControl1.BeginUpdate();
tileView1.Columns.Clear();
gridControl1.DataSource = null;
var query = (from b in sovDB.Palletes
join ipc in sovDB.IPCDisplays on b.DisplayNo equals ipc.DisplayNo
orderby b.PalleteID
select new
{
PalletNo = b.PalleteNumber,
Packs = b.CurrentPackCount,
Mass = b.CurrentPackWeight + " Kg"
}).ToList();
gridControl1.DataSource = query;
gridControl1.EndUpdate();
}
您需要使用 TileViewItemElement.Column
属性 创建与 DataSource 的列相对应的 TileViewItemElement
对象,如下所示:
tileView1.TileTemplate.Add(new TileViewItemElement { Column = tileView1.Columns["PalletNo"], TextAlignment = TileItemContentAlignment.TopCenter });
tileView1.TileTemplate.Add(new TileViewItemElement { Column = tileView1.Columns["Packs"], ImageAlignment = TileItemContentAlignment.TopLeft });
tileView1.TileTemplate.Add(new TileViewItemElement { Column = tileView1.Columns["Mass"], ImageAlignment = TileItemContentAlignment.BottomRight });
您还可以像这样通过设计模式配置 TileTemplate
:
我有一个 Devexpress winforms GridView
,我想将其转换为 TileView
。这是我在 运行 时间的 GridView
:
此 GridView 是使用 List 数据源填充的,并且工作正常。我使用设计器将 GridView
转换为 TileView
:
成功转换GridView后,我尝试运行App,它显示正确的记录数,但它是空白:
我错过了什么吗?这是填充网格的代码:
using (var sovDB = new MyEntities())
{
gridControl1.BeginUpdate();
tileView1.Columns.Clear();
gridControl1.DataSource = null;
var query = (from b in sovDB.Palletes
join ipc in sovDB.IPCDisplays on b.DisplayNo equals ipc.DisplayNo
orderby b.PalleteID
select new
{
PalletNo = b.PalleteNumber,
Packs = b.CurrentPackCount,
Mass = b.CurrentPackWeight + " Kg"
}).ToList();
gridControl1.DataSource = query;
gridControl1.EndUpdate();
}
您需要使用 TileViewItemElement.Column
属性 创建与 DataSource 的列相对应的 TileViewItemElement
对象,如下所示:
tileView1.TileTemplate.Add(new TileViewItemElement { Column = tileView1.Columns["PalletNo"], TextAlignment = TileItemContentAlignment.TopCenter });
tileView1.TileTemplate.Add(new TileViewItemElement { Column = tileView1.Columns["Packs"], ImageAlignment = TileItemContentAlignment.TopLeft });
tileView1.TileTemplate.Add(new TileViewItemElement { Column = tileView1.Columns["Mass"], ImageAlignment = TileItemContentAlignment.BottomRight });
您还可以像这样通过设计模式配置 TileTemplate
: