【问题标题】:Change displayed data in table created from SQL query in ASP.NET更改从 ASP.NET 中的 SQL 查询创建的表中显示的数据
【发布时间】:2014-08-28 09:14:34
【问题描述】:

我不知道如何搜索这个并得到我需要的东西。我试图弄清楚如何改变一段数据的显示方式。因此,例如,如果我检索到一个 1 或 0 的tinyint,并且我想分别显示“是”或“否”,我该怎么做呢?这是我在 aspx 中的内容:

        <ASP:DataGrid id="AdminDataGrid" runat="server"
            AutoGenerateColumns="False" AllowSorting="true"
            Width="700px" CellPadding="3" EnableViewState="True"
            BackColor="#EEEEEE" BorderColor="Black" HeaderStyle-BackColor="Gray"
            Font-Name="Verdana" Font-Size="8pt" Font-Names="Verdana"  
        >
            <Columns>
                <asp:BoundColumn DataField="Active" HeaderText="Active State" ReadOnly="true" SortExpression="Active" />
            </Columns>
        </ASP:DataGrid>

明确地说,我只是希望它每次从 SQL 表中提取数据时自动更新值。

我一直在尝试一些事情,但我不确定何时以及如何进行更改。成员对象:

DataTable DataTableAdmin = new DataTable();
DataView DataViewAdmin;

然后在页面加载中:

DataTableAdmin = myDataAccessObject.GetTable(strQuery);
DataViewAdmin = new DataView(DataTableAdmin);

我尝试了类似的方法:

if (DataTableAdmin.Columns[0] = "0")
{
    DataTableAdmin.Columns[0] = "No";
}
else
{
    DataTableAdmin.Columns.[0] = "Yes";
}

但我知道这是不对的,因为它不知道要在哪一行执行此操作。但无论如何,我希望它普遍适用于所有行。然后我想我可以使用过滤器对DataView 做一些事情:

DataViewAdmin.RowFilter("Active = '0'");

但是我不确定如何将更改应用于我返回的内容。我正在考虑的其他事情是用一系列复选框替换该列,这些复选框将根据值是选中或取消选中。然后可以选中或取消选中,并且可以在数据库中更新值。

【问题讨论】:

标签: c# asp.net sql


【解决方案1】:

这来自我在 cmets 中发布的问题。很有趣,这两列在 2 个帖子中都被命名为 Active。

<asp:TemplateField HeaderText="Active" SortExpression="Active">
    <ItemTemplate><%# (Boolean.Parse(Eval("Active").ToString())) ? "Yes" : "No" %></ItemTemplate>
</asp:TemplateField>

【讨论】:

    【解决方案2】:

    C Shaper 的回答让我走上了正轨,但它需要进行大量调整。第一个问题是:code blocks are not supported in this context. 将对象更改为TemplateColumn 修复了该问题。然后它无法解析值,说String was not recognized as a valid Boolean. 经过进一步研究,我得到了它的以下功能:

    <asp:TemplateColumn HeaderText="Active" SortExpression="Active">
        <ItemTemplate><%# Convert.ToBoolean(Convert.ToInt32(Eval("Active").ToString())) ? "Yes" : "No" %></ItemTemplate>
    </asp:TemplateColumn>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-03
      • 2021-06-26
      • 1970-01-01
      • 2023-04-01
      • 2020-09-15
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多