C# DataTable DataView—数据库中的位值

C# DataTable DataView—数据库中的位值,c#,datatable,bit,dataview,C#,Datatable,Bit,Dataview,在我的C#程序中,我已经将一个数据库表读入了一个DataTable,但是在将包含位值的列分配给布尔值时遇到了一些问题 以下是我目前的代码: // Load and Sort Users DataTable DataTable datatableUsers = UserMethods.GetUsers().Tables["Users"]; datatableUsers.DefaultView.Sort = "Name"; /

在我的C#程序中,我已经将一个数据库表读入了一个DataTable,但是在将包含位值的列分配给布尔值时遇到了一些问题

以下是我目前的代码:

            // Load and Sort Users DataTable
        DataTable datatableUsers = UserMethods.GetUsers().Tables["Users"];
        datatableUsers.DefaultView.Sort = "Name";

        // Filter Based on Search Box
        datatableUsers.DefaultView.RowFilter = "Name LIKE '%" + user + "%' OR Username LIKE '%" + user + "%'"; ;  
        DataView dataviewUsers = datatableUsers.DefaultView;

        // Loop Through Rows and Add UsersGrid to FlowLayoutPael
        foreach (DataRowView datarowviewUsers in dataviewUsers)
        {
            var UsersGrid = new UsersGrid
            {
                ID = (int)datarowviewUsers["ID"],
                Username = datarowviewUsers["Username"].ToString(),
                User = datarowviewUsers["Name"].ToString(),
                Admin = datarowviewUsers["Administrator"].ToString(),
            };
            flowlayoutpanelUsers.Controls.Add(UsersGrid);
            UsersGrid.WasClicked += UsersGrid_WasClicked;
        }

目前,我正在将Admin转换为字符串,并在“True”上进行匹配,但这会变得非常混乱,我更愿意将Admin设置为Boolean类型。我需要做什么?

您可以使用内联if运算符。例如:

Admin = datarowviewUsers["Administrator"].ToString() == "True" ? true : false

根据deepee1的回答,我认为它返回了一点值

Admin = datarowviewUsers["Administrator"].ToString() == "1" ? true : false;

这给了我两个错误:名称“False”在当前上下文中不存在,名称“True”在当前上下文中不存在context@hshah我不小心大写了True和False。。。。它应该是真的和假的。那么它应该会起作用。。。我会编辑来修正的。啊,我也应该发现的。谢谢:)