2012-02-03 52 views
2

問候的圖像/一個EXT.NET的GridPanel細胞depinding內部圖標,顯示上值

我需要顯示的圖像/圖標,並在EXT.NET細胞的值(的GridPanel的)。該值來自數據表。該值可以是一個字符串'好'或'壞'並駐留在'狀態'列中。

例如: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> 

現在,我已經看到了一些exaples,但我似乎無法得到的圖片,我認爲它是與此:

<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/

回答

1

我忘了返回值。

<ext:Column ColumnID="columnStatus" DataIndex="omschrijving" Header="Status" Width="150"> 
       <Renderer Handler="return imgRenderer(value);" /> 
</ext:Column> 
0

你有選擇,雖然我THI nk只有一個小的語法錯誤導致了問題。

選項1:

在現有的代碼,你應該改變datavalue

// 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"/>'; 

希望這有助於。

+0

沒有運氣,網格現在甚至沒有顯示數據。任何想法我應該看看? 我已經添加了渲染器處理程序,這是要走的路嗎? Danny 2012-02-06 10:05:46

0

C#:

{ 
//.......... 

dt.Tables[0].Rows[i]["Icon"] = "images/myicon.png";; 
//............ 
} 

模型:

<ext:ModelField Name="Icon" /> 

的colu mn:

<ext:TemplateColumn ID="myIcon" runat="server" Text="myIcon" DataIndex="Icon" Width="35" TemplateString='<img style="width:20px;height:20px;" src="{Icon}" />' /> 
+1

這個問題有點舊了,已經被接受了。考慮評論以解釋你的答案與現有的答案是不同的和/或更好的。歡迎來到堆棧溢出! – GargantuChet 2012-09-19 01:48:19