하자 내가 devexpress gridview에서 사용하는 ViewModel 있습니다. 그 내부보기 나는 내 모델을 IEnumerable 이다이디스플레이 이미지 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()
같은 DevExpress의의 gridview에 내 데이터를 표시하고 모든 코드 위로 괜찮습니다. 이제 Id 열 앞이나 뒤에있는 gridview 내부에 이미지를 표시하려고합니다. 그래서이 작업을 수행해야한다는 것을 알았습니다. Html.DevExpress().BinaryImage()
하지만 잠시 동안 여기에 갇혀 있습니다. 먼저 내 viewmodel 및 내 이미지 저장 방법을 설명합니다. 내 모델의 컬렉션은 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();
업데이트 : 나는이 솔루션을 시도한다고 생각합니다. 여기서 문제는 포토 컬렉션의 첫 번째 이미지를 내 눈금에 표시하려는 것입니다. 아래 코드로 시도했지만 운이 없었습니다. 오류 없음.
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