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

时间:2013-01-24 09:03:34

标签: c# asp.net sql-server-2008

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

绑定到我的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;
                        }
                }
            }
        } 
    } 

......我错过了什么吗?在GridView ...

中显示时,列仍为空白

1 个答案:

答案 0 :(得分:0)

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

<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

阿伦