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 に答える