gpt4 book ai didi

c# - 基于 Odata Controller 中的 ImageKey 将图像加载到 igGrid 列中

转载 作者:行者123 更新时间:2023-11-30 15:28:47 25 4
gpt4 key购买 nike

我已经设置了这个模型:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace aSa.Web.Scheduling.Models
{
public class Trailer
{
[Key]
public int TrailerKey { get; set; }
public string TrailerID { get; set; }
public string TrailerDesc { get; set; }
public string FabLocID { get; set; }
public double MaxWgt { get; set; }
public int TrailerImgKey { get; set; }

}
}

我为其设置了一个带有 Entity Framework 的 Web API 2 OData Controller 。我正在使用来自该 Controller 的 odata 来填写我的 IgniteUI igGrid。这是我对这个网格的设置:

 $('#gridTrailers').igGrid({

odata: true,
autoGenerateColumns: false,
autoGenerateLayouts: true,
responseDataKey: 'value',
dataSource: clientDS,
updateUrl: '/odata/Trailers',
primaryKey: 'TrailerKey',
width: '100%',
height: '500',
enableCheckBoxes: true,
columns: [
{ headerText: 'Trailer Key', key: 'TrailerKey', dataType: 'string', width: '100px' },
{ headerText: 'Trailer ID', key: 'TrailerID', width: '200px' },
{ headerText: 'Description', key: 'TrailerDesc', width: '100px' },
{ headerText: 'FabLocID', key: 'FabLocID', width: '100px' },
{ headerText: 'Max Weight', key: 'MaxWgt', width: '100px' },
{ headerText: 'Trailer', key: 'TrailerImgKey', width: '100px' },

],
features:
[
{
name: 'Sorting',
type: 'local'
},
{
advancedModeEditorsVisible: true,
name: 'Filtering',
caseSensitive: false,
type: 'local', //I think this can be local now
//mode: 'advanced',
FilterExprUrlKey: 'filter',
columnSettings: [
{ columnKey: 'TrailerKey', allowFiltering: false },
{ columnKey: 'TrailerImgKey', allowFiltering: false }
]

},
{
name: 'ColumnMoving'
},
{
mouseDragSelect: false,
multipleSelection: true,
touchDragSelect: false,
name: 'Selection',

},
{
editMode: 'cell',
startEditTriggers: 'dblclick',
name: 'Updating',
enableAddRow: true,
enableDeleteRow: true
},

{
name: 'Resizing'
},
{
name: 'Hiding'
}


],

});

目前我正在使用一个旧数据库,它有一个与特定图片相关的 TrailerImageKey,该图片本应从该应用程序的旧版本中的另一个数据库加载。我现在在我的项目中有一个名为“TrailerImages”的文件夹。我目前正在尝试找到一种方法来设置我的网格的最后一列以显示基于 TrailerImageKey 的特定预告片图像。

我知道我正在这里设置专栏:

columns: [
{ headerText: 'Trailer Key', key: 'TrailerKey', dataType: 'string', width: '100px' },
{ headerText: 'Trailer ID', key: 'TrailerID', width: '200px' },
{ headerText: 'Description', key: 'TrailerDesc', width: '100px' },
{ headerText: 'FabLocID', key: 'FabLocID', width: '100px' },
{ headerText: 'Max Weight', key: 'MaxWgt', width: '100px' },
{ headerText: 'Trailer', key: 'TrailerImgKey', width: '100px' },

],

我想知道是否可以这样做:

{ headerText: 'Trailer', key: 'TrailerImgKey', width: '100px', dataType: "object",
template: "<img width='100' height='90' src={{>val}}></img>", formatter: function(val){
switch(TrailerImageKey) {
case 1:
val = 'C:\Source_Code\Web\MyApp\TrailerImages\RedTrailer.png'
break;
case 2:
val = 'C:\Source_Code\Web\MyApp\TrailerImages\RedTrailer.png'
break;
default:
val = ''
}
}
},

我觉得我接近正确的想法,但我对 IgniteUI 和基础设施相当不熟悉,并且很难让它发挥作用。如果有人建议我如何根据我的 Odata 中的 TrailerImageKey 将图像加载到我的 igGrid 中,我将不胜感激。

最佳答案

我想通了:

{ headerText: 'Trailer', key: 'TrailerImgKey', width: '100px', dataType: 'object', template: "<img width='150' height='90' src='${TrailerImgKey}' />", formatter: LoadImages}  

加载图像函数:

function LoadImages(val){
switch (val) {
case 1: val = '/Images/TrailerImages/FlatbedBlueEmpty.gif'; break;
case 2: val = '/Images/TrailerImages/FlatBedGreenEmpty.jpg'; break;
case 3: val = '/Images/TrailerImages/FlatBedPurpleEmpty.jpg'; break;
case 4: val = '/Images/TrailerImages/PickupBlueEmpty.jpg'; break;
case 5: val = '/Images/TrailerImages/PickupGreenEmpty.jpg'; break;
case 6: val = '/Images/TrailerImages/PickupRedEmpty.jpg'; break;
case 7: val = '/Images/TrailerImages/SmallFlatbedBlueEmpty.jpg'; break;
case 8: val = '/Images/TrailerImages/SmallFlatbedGreenEmpty.jpg'; break;
case 9: val = '/Images/TrailerImages/SmallFlatbedPurpleEmpty.jpg'; break;
default: val = '';
}
return val;
}

关于c# - 基于 Odata Controller 中的 ImageKey 将图像加载到 igGrid 列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25039562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com