转:GridView 模板列中的数据绑定
<asp:TemplateField HeaderText="姓名">
??????????????????<ItemTemplate>?????? <%# Eval("FirstName") %>
????????????????????<%# Eval("LastName") %>??????
??????????????????</ItemTemplate>
<asp:TemplateField>???
或
<%# DataBinder.Eval(Container.DataItem,"數據庫字段")%>
<%# DataBinder.Eval(Container.DataItem, "ColumnName") %>
<%# DataBinder.Eval(Container.DataItem, "ColumnName", null) %>
<%# DataBinder.Eval(Container, "DataItem.ColumnName", null) %>
其他用法
<%# ((DataRowView)Container.DataItem)["ColumnName"] %>
<%# ((DataRowView)Container.DataItem).Row["ColumnName"] %>
<%# ((DataRowView)Container.DataItem)["adtitle"] %>
<%# ((DataRowView)Container.DataItem)[n] %>
<%# ((DbDataRecord)Container.DataItem)[0] %>
<%# (((自定義類型)Container.DataItem)).屬性.ToString() %>//如果屬性為字符串類型就不用ToString()了
說明:FirstName?? ,LastName皆為數據庫字段。這里直接綁定沒有對結果做任何格式處理和運算。同時你也可以看到,可以直接在模板里布置多個綁定。
方法二:對運算結果進行運算
<asp:TemplateField HeaderText="打折">
??????????????????????????? <ItemTemplate>
??????????????????????????????? <%# DataBinder.Eval(Container.DataItem, "Discount").ToString() == "0" ? "不打" : DataBinder.Eval(Container.DataItem, "Discount").ToString()%>折
??????????????????????????? </ItemTemplate>
??????????????????????? </asp:TemplateField>
說明:運用三元運算符,對結果進行判斷。這種方法適合那些非True即False的情況。
方法三:對結果進行格式化處理
<%# DataBinder.Eval(Container.DataItem, "Discount_beginDate", "{0:yyyy-m-d}").ToString() == "1900-0-1" ? "無" : DataBinder.Eval(Container.DataItem, "Discount_beginDate", "{0:yyyy-m-d}").ToString()%>
說明:可以看到這里查詢日期進行了格式化,然后進行了運算。
方法四:綁定后臺方法
<asp:TemplateField HeaderText="流行程度">
??????????????????????????? <ItemTemplate>
??????????????????????????????? <%# GetStatusPicture(Container.DataItem) %>???????????????????????????????
??????????????????????????? </ItemTemplate>
??????????????????????? </asp:TemplateField>
后臺方法:
protected string GetStatusPicture(object dataItem)
??? {
??????? int units = Int32.Parse(DataBinder.Eval(dataItem, "PopularLevel").ToString());
??????? string strNum = "";
??????? switch (units)
??????? {
??????????? case 0:
??????????????? strNum = "0 顆星";
??????????????? break;
??????????? case 1:
??????????????? strNum = "1 顆星";
??????????????? break;
??????????? case 2:
??????????????? strNum = "2 顆星";
??????????????? break;
??????????? case 3:
??????????????? strNum = "3 顆星";
??????????????? break;
??????????? case 4:
??????????????? strNum = "4 顆星";
??????????????? break;
??????????? case 5:
??????????????? strNum = "5 顆星";
??????????????? break;
??????? }
??????? return strNum;
??? }
說明:后臺方法必須為Public或Proteced,接受的參數最好為Object類型,然后再方法內進行轉換。
來自: http://hi.baidu.com/sygwin/blog/item/aa9f5d0fe6178a276159f3ab.html轉載于:https://www.cnblogs.com/diony/archive/2011/05/05/2038084.html
總結
以上是生活随笔為你收集整理的转:GridView 模板列中的数据绑定的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国产中文电脑常用文档搜索-bbdoc,支
- 下一篇: CSS3新属性