2

问候,

我需要在(网格面板的)EXT.NET 单元格中显示图像/图标和值。该值来自数据表。该值可以是字符串“好”或“坏”,并位于“状态”列中。

例如:好的accept.png 或坏的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/

4

2 回答 2

1

我忘了返回值。

<ext:Column ColumnID="columnStatus" DataIndex="omschrijving" Header="Status" Width="150">
                <Renderer Handler="return imgRenderer(value);" />
</ext:Column>
于 2012-02-06T14:40:19.843 回答
0

你有选择,虽然我认为只有一个小的语法错误导致了问题。

选项1:

在您现有的代码中,您应该更改datavalue.

例子

// existing
if(data == ‘good’)

// revised
if(value == ‘good’)

选项 2:

将您的图像重命名为与该值相同的值,尽管这仍然需要使用value属性而不是data. 重命名accept.pnggood.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"/>';

希望这可以帮助。

于 2012-02-03T19:00:33.937 回答