Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改ASP.NET中通过SQL查询创建的表中显示的数据_C#_Asp.net_Sql - Fatal编程技术网

C# 更改ASP.NET中通过SQL查询创建的表中显示的数据

C# 更改ASP.NET中通过SQL查询创建的表中显示的数据,c#,asp.net,sql,C#,Asp.net,Sql,我不知道如何搜索这个,并得到确切的我需要的。我试图找出如何改变一段数据的显示方式。因此,例如,如果我检索一个tinyint,它是1或0,并且我想分别显示“是”或“否”,我该怎么做呢?以下是我在aspx中的内容: <ASP:DataGrid id="AdminDataGrid" runat="server" AutoGenerateColumns="False" AllowSorting="true" Width="700px"

我不知道如何搜索这个,并得到确切的我需要的。我试图找出如何改变一段数据的显示方式。因此,例如,如果我检索一个
tinyint
,它是1或0,并且我想分别显示“是”或“否”,我该怎么做呢?以下是我在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>
然后在页面加载中:

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'");

但是,我不确定我将如何对我得到的东西应用更改。我正在考虑的另一件事是用一系列复选框替换该列,这些复选框将根据值的大小被选中或取消选中。然后可以检查或取消检查,并且可以在数据库中更新值。

这来自我在评论中发布的问题。非常有趣的是,这两个栏目在两篇文章中都被命名为Active

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

C Shaper的回答让我走上了正确的轨道,但它需要相当多的调整。第一个问题是:
在此上下文中不支持代码块。
将对象更改为
TemplateColumn
修复了该问题。然后,它无法解析该值,表示
字符串未被识别为有效的布尔值。
在进一步研究后,我发现它可以处理以下内容:

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

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