c#
  • gridview
  • eval
  • databinder
  • 2013-06-05 70 views 0 likes 
    0

    實際上,我綁定了GridView中Image控件的工具提示上的一些數據。刪除DataBinder.Eval字段,如果它爲空或空白

    一切工作正常。見下文

    <asp:Image ID="Image1" runat="server" ImageUrl="~/img/images.jpg" ToolTip='<%# (Eval("Comments").ToString().Length == 0? "": "Late Reason - " + DataBinder.Eval(Container.DataItem, "Comments")) + (Eval("Out_Comments").ToString().Length == 0? "" :"| Out Reason - "+ DataBinder.Eval(Container.DataItem, "Out_Comments")) %>' /> 
    

    我的要求我的代碼是,當註釋字段在數據庫空或空白,則這個額外的文本「遲到的原因 - 」應該從刀尖刪除,如果註釋字段不爲空或null,則這個額外的文本應該在工具提示中。而且Out_Comments字段也有相同的字段,它有額外的文字「Out Reason - 」。

    我該怎麼做?

    enter image description here

    +0

    一個解決方案將只是不顯示工具提示如果字段爲空或空。 –

    +0

    有兩個字段評論和Out_Comments。如果兩者都爲空或空,我可以隱藏工具提示。如果有空白但是另一個不是? – Gaurav

    回答

    1

    試試這個:

    <asp:TemplateField> 
        <ItemTemplate> 
         <asp:Image ID="Image1" runat="server" ImageUrl="~/img/images.jpg" 
          ToolTip='<%# !string.IsNullOrEmpty(Eval("Comments") as string) 
         ? !string.IsNullOrEmpty(Eval("Out_Comments") as string) 
          ? "Late Reason - " + Eval("Comments") + " | Out Reason - " + Eval("Out_Comments") 
          : "Late Reason - " + Eval("Comments") 
         : "Out Reason - " + Eval("Out_Comments")%>' /> 
        </ItemTemplate> 
    </asp:TemplateField> 
    

    編輯:改變了空檢查,string.IsNullOrEmpty(Eval("Comments") as string)檢查空/空字符串。

    +0

    無法正常工作。通過爲什麼圖像和它的工具提示屬性? – Gaurav

    +0

    噢,我的壞。等等,我會編輯我的答案。 –

    +0

    現在看到我附上了一張圖片。您的解決方案無法正常工作。根據您的解決方案,如果評論無效或空白,雖然它顯示「晚期原因 - 」,但我的要求是它不會顯示此額外文本。 – Gaurav

    0

    您應該在GridView RowDataBound事件中處理這個邏輯。

    Image img = e.Row.FindControl("Image1"); 
    
    if(img != null) { 
    
        //Apply Logic Here 
    
        img.ToolTip = //End result of logic 
    } 
    
    相關問題