GridView 模板列中的数据绑定
时间:2011-01-05 来源:S. A.M
或
<%#
DataBinder.eval_r(Container.DataItem,"数据库字段")%> <%#
DataBinder.eval_r(Container.DataItem, "ColumnName") %>
<%#
DataBinder.eval_r(Container.DataItem, "ColumnName", null) %>
<%#
DataBinder.eval_r(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_r(Container.DataItem,
"Discount").ToString() == "0" ? "不打" : DataBinder.eval_r(Container.DataItem,
"Discount").ToString()%>折
</ItemTemplate>
</asp:TemplateField> 说明:运用三元运算符,对结果进行判断。这种方法适合那些非True即False的情况。 方法三:对结果进行格式化处理 <%# DataBinder.eval_r(Container.DataItem,
"Discount_beginDate", "{0:yyyy-m-d}").ToString() ==
"1900-0-1" ? "无" : DataBinder.eval_r(Container.DataItem, "Discount_beginDate",
"{0:yyyy-m-d}").ToString()%> 说明:可以看到这里查询日期进行了格式化,然后进行了运算。 方法四:绑定后台方法 代码
DataBinder.eval_r(Container.DataItem,"数据库字段")%> <%#
DataBinder.eval_r(Container.DataItem, "ColumnName") %>
<%#
DataBinder.eval_r(Container.DataItem, "ColumnName", null) %>
<%#
DataBinder.eval_r(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_r(Container.DataItem,
"Discount").ToString() == "0" ? "不打" : DataBinder.eval_r(Container.DataItem,
"Discount").ToString()%>折
</ItemTemplate>
</asp:TemplateField> 说明:运用三元运算符,对结果进行判断。这种方法适合那些非True即False的情况。 方法三:对结果进行格式化处理 <%# DataBinder.eval_r(Container.DataItem,
"Discount_beginDate", "{0:yyyy-m-d}").ToString() ==
"1900-0-1" ? "无" : DataBinder.eval_r(Container.DataItem, "Discount_beginDate",
"{0:yyyy-m-d}").ToString()%> 说明:可以看到这里查询日期进行了格式化,然后进行了运算。 方法四:绑定后台方法 代码
<asp:TemplateField HeaderText="流行程度">
<ItemTemplate>
ItemTemplate>
asp:TemplateField>
//后台方法:
protected string GetStatusPicture(object dataItem)
{
int units = Int32.Parse(DataBinder.eval_r(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类型,然后再方法内进行转换。
相关阅读 更多 +