问候语,
我需要在(网格面板的)EXT.NET单元格中显示图像/图标和值。值来自数据表。该值可以是字符串“good”或“bad”,并位于“Status”列中。
例如:good accept.png或bad cancel.png。
布局:
<ext:GridPanel ID="grid" runat="server">
<Store>
<ext:Store ID="Store1" runat="server">
<Reader>
<ext:ArrayReader>
<Fields>
<ext:RecordField Name="status" Mapping="Status" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column DataIndex="status" Header="Status" Width="160">
</ext:Column>
</Columns>
</ColumnModel>
</ext:GridPanel>
现在我已经看到了一些问题,但我似乎无法得到图片,我认为这与此有关:
<script type="text/javascript">
function imgRenderer(value, meta, record, rowIndex, colIndex, store) {
if(data == ‘good’)
{
return "<img src='accept.png'/>"
}
else (data == "bad")
{
return "<img src='cancel.png'/>"
}
}
</script>
更多信息: http://miamicoder.com/2009/displaying-an-image-inside-an-ext-js-gridpanel-cell-part-2/ http://techmix.net/blog/2010/11/25/add-button-to-extjs-gridpanel-cell-using-renderer/
答案 0 :(得分:1)
我忘记了返回值。
<ext:Column ColumnID="columnStatus" DataIndex="omschrijving" Header="Status" Width="150">
<Renderer Handler="return imgRenderer(value);" />
</ext:Column>
答案 1 :(得分:0)
您有选项,但我认为只有一个轻微的语法错误导致了问题。
选项1:
在现有代码中,您应将data
更改为value
。
示例强>
// existing
if(data == ‘good’)
// revised
if(value == ‘good’)
选项2:
将图片重命名为与值相同的值,但这仍然需要使用value
属性而不是data
。将accept.png
重命名为good.png
,并使用“错误”图片重命名。通过此更改,您不应该要求if | else语句。
示例强>
// existing
if(data == ‘good’)
{
return "<img src='accept.png'/>"
}
else (data == "bad")
{
return "<img src='cancel.png'/>"
}
// revised
return '<img src="' + value + '.png"/>';
希望这有帮助。
答案 2 :(得分:0)
c#:
{
//..........
dt.Tables[0].Rows[i]["Icon"] = "images/myicon.png";;
//............
}
模特:
<ext:ModelField Name="Icon" />
专栏:
<ext:TemplateColumn ID="myIcon" runat="server" Text="myIcon" DataIndex="Icon" Width="35" TemplateString='<img style="width:20px;height:20px;" src="{Icon}" />' />