在RunTime中设置ItemTemplate属性

时间:2013-08-13 08:40:00

标签: c# asp.net gridview

我正在尝试在ASP.Net应用程序中的GridView中显示一个小进度条。我正在尝试使用ItemTemplate。

                            <ItemTemplate>
                                <table width="100%">
                                    <tr>
                                        <td style="width: 75%; background-color: red"></td>
                                        <td style="width: 25%; background-color: green" ></td>
                                    </tr>
                                </table>
                            </ItemTemplate>

我想根据行中某些值的计算来设置宽度百分比。

可以用Eval以某种方式完成吗?或者我需要做一些代码吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法(下面的样本计算):

<td style='<%# string.Format("width: {0}%; background-color: red", (int)Eval("Width") / 100) %>'></td>

但为了便于阅读,最好将整个字符串结构移到后面的代码中,并在页面上调用相应的方法。

更新。至于代码隐藏方法,以下是如何完成的。定义一个方法,该方法将执行适当的计算并返回字符串:

protected string GetCellStyle(int width)
{
    return string.Format("width: {0}%; background-color: red", width / 100);
}

使用相同的数据绑定语法调用它:

<td style='<%# GetCellStyle((int)Eval("Width")) %>'></td>