Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带条件的GridView按钮_C#_Asp.net_Gridview_Sqldatareader - Fatal编程技术网

C# 带条件的GridView按钮

C# 带条件的GridView按钮,c#,asp.net,gridview,sqldatareader,C#,Asp.net,Gridview,Sqldatareader,我有一个gridview,它有三列:名称、姓氏、更改(ButtonField列),由SqlDataReader填充,代码如下 SqlCommand sqlCommand = new SqlCommand("select * from Empl where userId ='" + userid + "'", sqlConnection); sqlConnection.Open(); SqlDataReader rea

我有一个gridview,它有三列:名称、姓氏、更改(ButtonField列),由SqlDataReader填充,代码如下

               SqlCommand sqlCommand = new SqlCommand("select * from Empl where userId ='" + userid + "'", sqlConnection);
            sqlConnection.Open();

            SqlDataReader reader = sqlCommand.ExecuteReader();

            GridView1.DataSource = reader;
            GridView1.DataBind();
在我的数据库中有4列:UserId、Name、姓氏、Change(bit)。只有当数据库中的更改(bit)列为true时,如何显示按钮更改?

您可以这样做

<asp:TemplateField>
      <ItemTemplate>
         <asp:Button ID="btnChange" runat="server" Text="Change" 
              Visible='<%# (Boolean) Eval("Change") %>' />
      </ItemTemplate>
 </asp:TemplateField>

正如您在评论中提到的,您在上面的代码中遇到错误,您可以尝试像

Visible='<%# Convert.ToBoolean(Eval("Change")) == true ? true : false %>' 
Visible=''

hm我尝试了这个,但我得到了一个错误
code
这对ButtonField不起作用,你必须使它成为模板字段。你的意思是这样吗<代码>代码代码我再次收到错误。异常详细信息:System.InvalidCastException:指定的强制转换无效。您可以将此Visible=''更改为Visible=''