DataGrid控件中替換標識值的使用:
<asp:DataGrid ID="dgList" runat="server" Width="100%" AutoGenerateColumns="False"> <Columns> <asp:BoundColumn DataField="COP_G_NO" HeaderText="物料號/成品貨號"></asp:BoundColumn> <asp:BoundColumn DataField="QTY" HeaderText="數量"></asp:BoundColumn> <asp:TemplateColumn HeaderText="物料標識"> <ItemTemplate> <%#GetTransType(DataBinder.Eval(Container.DataItem, "FLAG"))%> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> 直接調用後台方法: <asp:TemplateColumn HeaderText="原產地"> <ItemTemplate> <%# (Common.Constant.CountryList.ContainsKey(Eval("COUNTRY") + "")) ? Common.Constant.CountryList[Eval("COUNTRY") + ""] : Eval("COUNTRY") + "" %> </ItemTemplate> </asp:TemplateColumn>
public string GetTransType(object obj) { string type_flag = Convert.ToString(obj); string strReturn = ""; switch (type_flag) { case "1": strReturn = "在廠產品"; break; case "2": strReturn = "在廠半成品"; break; case "3": strReturn = "已出庫未報關成品"; break; case "I": strReturn = "在廠原材料數量"; break; case "Y": strReturn = "已報關未入庫料件數量"; break; case "W": strReturn = "已入庫未報關料件數量"; break; default: ; break; } return strReturn; }
repeader控件中替換標識值的方法:
<asp:Repeater ID="rp_List" runat="server" OnItemCommand="rp_List_ItemCommand"> <ItemTemplate> <tr> <td> <input id="chk" type="checkbox" name="chkName" runat="server" /> </td> <td width="70"> <asp:HyperLink NavigateUrl='<%# getLink(Eval("CodeNameCn"),Eval("Guid"))%>' ID="hl_guid" runat="server"><%# Eval("OrderNo")%></asp:HyperLink> </td> <td> <%# Eval("CustomerNo")%><asp:HiddenField ID="hf_OrderNo" Value='<%# Eval("Guid") %>' runat="server" /> </td> <td> <%# getInOrOut(Eval("IeType"))%> </td> <td> <%# Eval("TradeMode")%> </td> <td> <%# Eval("TotalQuantity")%> </td> <td> <%# Eval("TotalAmount")%> </td> <td> <%# Eval("ShipPeople")%> </td> <td> <%# Eval("ReceivePeople")%> </td> <td> <asp:LinkButton ID="lb_xiadan" runat="server" CommandName="xiadan"><%#getIsShowXiadan(Eval("Status"))%></asp:LinkButton> </td> <td> <%# GetExistService(Eval("HasWMSService"), Eval("HasFreightAgent"), Eval("HasCustomsClearance"))%> </td> <td> <%# Eval("CodeNameCn")%> </td> <td> <%# Convert.ToDateTime(Eval("CreateTime")).ToString("yyyy-MM-dd")%> </td> </tr> </ItemTemplate> </asp:Repeater>
C#後台方法:
public string getLink(object objStatus, object objGuid) { if (objStatus == null) { return "#"; } else if (objStatus + "" == "未下單") { return "GjmyOrderSave.aspx?guid=" + objGuid; } else { return "GjmyOrderDetail.aspx?guid=" + objGuid; } }
public string GetExistService(object objHasWMSService, object objHasFreightAgent, object objHasCustomsClearance) { string serviceHtml = ""; if (objHasWMSService != DBNull.Value) { if (Convert.ToBoolean(objHasWMSService) == true) { serviceHtml += " 倉庫發貨 "; } } if (objHasFreightAgent != DBNull.Value) { if (Convert.ToBoolean(objHasFreightAgent) == true) { serviceHtml += " 貨運代理 "; } } if (objHasCustomsClearance != DBNull.Value) { if (Convert.ToBoolean(objHasCustomsClearance) == true) { serviceHtml += " 報關報檢 "; } } return serviceHtml; }