假設我有ViewModel,我在devexpress gridview中使用。裏面那個觀點我在GridView中DevExpress的顯示我的數據是這樣顯示圖像devexpress gridview,這是一個火箭科學?
@Html.DevExpress().GridView(
settings =>
{
settings.Name = "myGridView";
settings.KeyFieldName = "Id";
....
var column = settings.Columns.Add("Id", "Id");
column = settings.Columns.Add("Title", "MyTitle");
...
}).Bind(Model).GetHtml()
我的模型是IEnumerable的 和一切都確定了這個代碼了。 現在我想在Id列之前或之後的GridView中顯示圖像。 所以我發現這應該與Html.DevExpress().BinaryImage()
完成但我在這裏停留了一段時間。首先描述我的視圖模型以及我的圖像如何存儲。 我的模特有List<Photo>
集合。我得到的圖像爲FileContentResult
。
所以我知道我應該使用這個Html.DevExpress().BinaryImage()
但我不知道。 這裏是我應該遵循的例子。
column = settings.Columns.Add("", "Photos");
Html.DevExpress().BinaryImage(
imageSettings =>
{
//imageSettings.Name = "Photo";
imageSettings.Width = 100;
imageSettings.Height = 100;
})
.Bind(((System.Data.Linq.Binary)DataBinder.Eval(Model, "Photo")).ToArray())
.Render();
更新: 我想我應該用這種解決方案嘗試。這裏的問題是我想在我的網格中顯示Photos集合中的第一張圖片。我嘗試用下面的代碼,但沒有運氣。沒有錯誤。
var photoColumn = settings.Columns.Add("Photos[0].ImageData", "Foto");
photoColumn.Visible = true;
photoColumn.Width = 20;
photoColumn.FieldName = "Photo.ImageData";
photoColumn.ColumnType = MVCxGridViewColumnType.BinaryImage;
DevExpress.Web.ASPxEditors.BinaryImageEditProperties properties = (DevExpress.Web.ASPxEditors.BinaryImageEditProperties)photoColumn.PropertiesEdit;
properties.ImageHeight = 50;
properties.ImageWidth = 50;
感謝,問題被更新。 – BobRock 2012-03-22 23:05:32