0

在 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 中显示时,列仍为空白...

4

1 回答 1

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

阿伦

于 2013-01-24T11:21:08.053 回答