2011-04-07 98 views
0

我想根據從數據庫檢索到的值更改DataList中顯示的圖像。
場景:我在我的表中有5個優先級,按照優先級我需要在datalist中顯示圖像。如何根據條件在數據列表中顯示圖像

例如

優先級= 5(紅色圖像)
優先級= 1(綠色圖像)

如何將顯示數據列表每個優先級的那些圖像作爲?

+0

請把你的代碼放在這裏..你已經嘗試過。 – 2011-04-07 11:02:38

+0

我是這個Datalist的新手。請幫助如何做到這一點... IAM在非常緊急,請嘗試幫助我與示例代碼 – santhosh 2011-04-07 11:28:54

回答

1

在Datalist中設置一個輔助函數。示例代碼

<asp:Image ID="PriorityImage" runat="server" 
     ImageURL='<%# SetPriorityImage(Eval("Priority"))%>'/> 

AT後面的代碼(aspx.cs)

protected string SetPriorityImage(object priority) 
{ 
    string image = ""; 
    int prioritySwitch = Convert.ToInt32(priority); 
    switch (prioritySwitch) 
    { 
     case 1: 
      image="~/Images/Red.png"; 
      break; 
     case 5: 
      image="~/Images/Green.png"; 
      break; 
     default: 
      image="~/Images/Error.png"; 
      break; 
    } 
    return image; 
} 

免責聲明:這只是僞代碼,因此沒有嘗試捕捉機制。

0

你可以在ItemDataBound事件datalist上做。

protected void datalist1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
     { 

// Your code logic comes here. here you can find image object that you have used in //ItemTemplate 

     } 
    } 

希望你可以在這裏做其餘的工作。

+0

Iam剛剛新Datalist控制,請幫助我應該寫什麼..與一些代碼片段,非常有用+ +我 – santhosh 2011-04-07 11:21:17