C# 如何在asp.net中检查gridview的Rowdatabound事件中的bool值

C# 如何在asp.net中检查gridview的Rowdatabound事件中的bool值,c#,asp.net,C#,Asp.net,我有一个gridview,通过Datareader绑定数据。在数据库表中,这是一个位字段,我想检查它是否为FALSE,并在gridview中隐藏一些控件。那么如何在Rowdatabound事件发生时获取该值呢。非常感谢。 这是我的密码 protected void AllUsersGridView_RowDataBound1(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == Data

我有一个gridview,通过Datareader绑定数据。在数据库表中,这是一个位字段,我想检查它是否为FALSE,并在gridview中隐藏一些控件。那么如何在Rowdatabound事件发生时获取该值呢。非常感谢。 这是我的密码

protected void AllUsersGridView_RowDataBound1(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {

                LinkButton LinkButton1 = (LinkButton)e.Row.Cells[6].FindControl("LinkButton1");
                LinkButton LinkButton2 = (LinkButton)e.Row.Cells[6].FindControl("LinkButton2");

                CheckBox c = ((CheckBox)e.Row.Cells[2]);
                if (c.Checked)
                {
                    LinkButton1.Visible = true;
                    LinkButton2.Visible = true;
                }
                else
                {
                    LinkButton1.Visible = false;
                    LinkButton2.Visible = false;
                }
            }
        }

您可以直接使用数据库字段,如下所述:

protected void AllUsersGridView_RowDataBound1(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {

        LinkButton LinkButton1 = (LinkButton)e.Row.Cells[6].FindControl("LinkButton1");
        LinkButton LinkButton2 = (LinkButton)e.Row.Cells[6].FindControl("LinkButton2");

        DataRow row = ((DataRowView)e.Row.DataItem).Row;
        bool isChecked = row.Field<bool>("[FiledName]");
        // CheckBox c = ((CheckBox)e.Row.Cells[2]);

        LinkButton1.Visible = isChecked;
        LinkButton2.Visible = isChecked;
    }
}
protected void AllUsersGridView\u RowDataBound1(对象发送方,GridViewRowEventArgs e)
{
如果(e.Row.RowType==DataControlRowType.DataRow)
{
LinkButton LinkButton1=(LinkButton)e.Row.Cells[6]。FindControl(“LinkButton1”);
LinkButton LinkButton2=(LinkButton)e.Row.Cells[6]。FindControl(“LinkButton2”);
DataRow row=((DataRowView)e.row.DataItem).row;
bool isChecked=row.Field(“[FiledName]”);
//复选框c=((复选框)e.Row.Cells[2]);
LinkButton1.Visible=已选中;
LinkButton2.Visible=已选中;
}
}
请参见上述代码中的以下两行代码:

DataRow row = ((DataRowView)e.Row.DataItem).Row;
bool isChecked = row.Field<bool>("[FiledName]");
DataRow-row=((DataRowView)e.row.DataItem).row;
bool isChecked=row.Field(“[FiledName]”);

您可以直接使用数据库字段,如下所述:

protected void AllUsersGridView_RowDataBound1(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {

        LinkButton LinkButton1 = (LinkButton)e.Row.Cells[6].FindControl("LinkButton1");
        LinkButton LinkButton2 = (LinkButton)e.Row.Cells[6].FindControl("LinkButton2");

        DataRow row = ((DataRowView)e.Row.DataItem).Row;
        bool isChecked = row.Field<bool>("[FiledName]");
        // CheckBox c = ((CheckBox)e.Row.Cells[2]);

        LinkButton1.Visible = isChecked;
        LinkButton2.Visible = isChecked;
    }
}
protected void AllUsersGridView\u RowDataBound1(对象发送方,GridViewRowEventArgs e)
{
如果(e.Row.RowType==DataControlRowType.DataRow)
{
LinkButton LinkButton1=(LinkButton)e.Row.Cells[6]。FindControl(“LinkButton1”);
LinkButton LinkButton2=(LinkButton)e.Row.Cells[6]。FindControl(“LinkButton2”);
DataRow row=((DataRowView)e.row.DataItem).row;
bool isChecked=row.Field(“[FiledName]”);
//复选框c=((复选框)e.Row.Cells[2]);
LinkButton1.Visible=已选中;
LinkButton2.Visible=已选中;
}
}
请参见上述代码中的以下两行代码:

DataRow row = ((DataRowView)e.Row.DataItem).Row;
bool isChecked = row.Field<bool>("[FiledName]");
DataRow-row=((DataRowView)e.row.DataItem).row;
bool isChecked=row.Field(“[FiledName]”);
试试这个

    protected void AllUsersGridView_RowDataBound1(object sender, GridViewRowEventArgs e)
                {
                    if (e.Row.RowType == DataControlRowType.DataRow)
                    {

                        LinkButton LinkButton1 = (LinkButton)e.Row.FindControl("LinkButton1");
                        LinkButton LinkButton2 = (LinkButton)e.Row.FindControl("LinkButton2");

                        CheckBox c = ((CheckBox)e.Row.FindControl("idOfCheckBox");
                        LinkButton1.Visible = LinkButton2.Visible = c.Checked
                    }
                }
试试这个

    protected void AllUsersGridView_RowDataBound1(object sender, GridViewRowEventArgs e)
                {
                    if (e.Row.RowType == DataControlRowType.DataRow)
                    {

                        LinkButton LinkButton1 = (LinkButton)e.Row.FindControl("LinkButton1");
                        LinkButton LinkButton2 = (LinkButton)e.Row.FindControl("LinkButton2");

                        CheckBox c = ((CheckBox)e.Row.FindControl("idOfCheckBox");
                        LinkButton1.Visible = LinkButton2.Visible = c.Checked
                    }
                }

idOfCheckBox未知。我正在将数据从数据库表绑定到Gridview,数据库中的位字段在Gridview中显示为复选框。我想检查它是真是假。idOfCheckBox未知。我正在将数据从数据库表绑定到Gridview,数据库中的位字段在Gridview中显示为复选框。我想检查它是真是假;无法将类型为“System.Data.Common.DataRecordInternal”的对象强制转换为类型为“System.Data.DataRowView”。@Deutschland:您可以引用DataRow row=((DataRowView)e.row.DataItem).row;无法将类型为“System.Data.Common.DataRecordInternal”的对象强制转换为类型为“System.Data.DataRowView”。@Deutschland:您可以参考