私はdevexpress gridviewで使用するViewModelを持っているとしましょう。そのビューの中に、私は私のモデルはIEnumerableを であり、このdisplay image 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の中で自分のデータを表示し、すべてがこのコードを上にしてokです。 今、Id列の前または後にグリッドビュー内に画像を表示したいと思います。 だから私はこれを行うべきであることがわかった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