使用c#代码填充GridViewColumn

时间:2011-05-10 14:48:51

标签: c# asp.net sql

我有一个GridView,其列需要填充算法。此算法使用SQL数据库中的值。 如何在算法中使用sql数据库中的值,而不是将结果放在GridView列中。我在ASP中与数据库建立了连接,但在代码隐藏(C#)中却没有设法做到这一点 我应该使用什么类型的字段(boudfield,templatefield等)

提前致谢:)

1 个答案:

答案 0 :(得分:0)

如果这个特定算法不能用SQL实现并合并到数据源中,那么我的第一个倾向就是一个带有超链接,LinkBut​​ton,Label,Literal的TemplateField ......(无论你想要什么实际价值)。

可能的例子:

<asp:GridView ID="gvExample" runat="server" DataSourceID="dsExample">
    <Columns>
        <asp:TemplateField HeaderText="Header Text">
            <ItemTemplate>
                <asp:Literal ID="litAlgorithmResult" runat="server" 
                    Text='<%# DoMyFunction(Eval("DataSourceField1").ToString(), Eval("DataSourceField2").ToString(), Eval("DataSourceField3").ToString()) %>'>
                </asp:Literal>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

在你的代码隐藏中,添加这样的东西(假设VB.NET出于某种原因):

Protected Function DoMyFunction(ByVal Value1 as String, ByVal Value2 as String, ByVal Value3 as String) as String
    DoMyFunction = Value1 & Value2 & Value3
End Function

编辑:添加了几个传递给该函数的列,并添加了一个示例函数。

EDIT2:添加了完整的GridView示例。