在EXT.NET GridPanel单元格中显示图像/图标

时间:2012-02-03 15:32:08

标签: ext.net

问候语,

我需要在(网格面板的)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/

3 个答案:

答案 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}" />' />