C# 为什么我的GridView位字段列为空?

C# 为什么我的GridView位字段列为空?,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,在GridView中显示位字段时出现问题,当GridView呈现时,位字段为空 要绑定到my GridView的代码: protected void InitGridViewDisplay(GridView mygrid, Button mybutton, DataTable mydt, int i) { mygrid.DataSource = mydt; mygrid.DataBind(); mygrid.Visible = true; } 所有其他字段显示正确,但位

在GridView中显示位字段时出现问题,当GridView呈现时,位字段为空

要绑定到my GridView的代码:

protected void InitGridViewDisplay(GridView mygrid, Button mybutton, DataTable mydt, int i)
{
    mygrid.DataSource = mydt;
    mygrid.DataBind();
    mygrid.Visible = true;
}
所有其他字段显示正确,但位字段是否显示为空列

……经过进一步讨论

    for (int j = 0; j < mydt.Columns.Count; j++)
    {
        string fieldtype = Convert.ToString(mydt.Columns[j].DataType);
        if (fieldtype == "System.Boolean")
        {
            foreach (DataRow row in mydt.Rows)
            {
                string getrowvalue = Convert.ToString(row[j]);
                switch (getrowvalue)
                {
                    case "False":
                        {
                            row[j] = 0;
                            break;
                        }
                    case "True":
                        {
                            row[j] = 1;
                            break;
                        }
                }
            }
        } 
    } 
for(int j=0;j

…我错过什么了吗?列在GridView中显示时仍然为空…

在我的项目中,我有一个带有复选框的GridView。它使用“位”值检查和取消选中


Arun

字段强制转换为
布尔值
,这样它将显示为
问题是GridView的SQL每次都不同…我认为我需要使用事件首先检测字段类型,然后根据需要强制转换?欢迎使用堆栈溢出!与论坛网站不同,我们不会在帖子中使用“谢谢”、“感谢任何帮助”或签名。请参见。@bluenose1970在绑定到
gridview
数据列之前,您可以通过
DataColumn
mydt
进行
循环
检查
数据类型
,在访问字段类型时,它已经返回“System.Boolean”了吗?
<Columns>
<ItemTemplate>
   <asp:CheckBox id="chkStatus" Enabled='<%# Enable(Eval("Status")) %>' runat="server" />
</ItemTemplate>
 Protected Function Enable(ByVal sStatus As Boolean) As String
    If UCase(Trim(sStatus)) = True Then
        Return "true"
    ElseIf UCase(Trim(sStatus)) = False Then
        Return "false"
    End If
End Function