如何在gridview中将复选框更改为字符串

本文关键字:字符串 复选框 gridview | 更新日期: 2023-09-27 18:14:43

我有一个列在datatable的值将是True或False时,从数据库中获取。它在网格视图中显示复选框。但我想显示"是",如果值为真,"否",如果值为假。我怎么能做到呢?

        DataTable dt = DBAction.ExecuteQuery(command,zzz.id);

        if (dt != null && dt.Rows.Count > 0)
        {
            // i want to change here
            gridTagHistory.DataSource =dt;
            this.ShowDialog();
        }

如何在gridview中将复选框更改为字符串

你可以修改你的select Query(最推荐)

你可以遍历DataTable/Gridview

  foreach (DataRow rw in dt.Rows)
  {
     string a = rw["YourBoolColName"].ToString();
      if(a=="True")
       {
        rw["YourBoolColName"]="Yes";
     }
    else {rw["YourBoolColName"]="No";}
  }

foreach (GridViewRow row in GridView1.Rows)
{
    Label myLabel = (Label)row.FindControl("myLabelName");
    if(myLabel.text=="True")
       {
         myLabel.text="YEs";
        }
     else if(myLabel.text=="False")
       {
        myLabel.text="No";
       }
}

修改您的选择查询返回字符串而不是bool值…或者在将数据集设置为数据源之前修改数据集(不推荐)

您可以将该列从设计视图更改为模板列,然后在标记中您可以看到它如何呈现,在本例中它将呈现为一个复选框。从这里,您可以将显示更改为您想要的任何内容,因此您可以用标签替换复选框并保持相同的绑定。

这是一篇介绍如何使用模板列的文章。

即使在这种情况下不使用它,也值得一读。模板列在外观和与gridview的交互方面允许更多的自由和自定义。

您可以简单地在sql查询中写入case,并从那里写入yes或no。然后在网格视图中将它绑定到asp:Boundfield。简单的解决方案,并且将比逐行迭代网格视图更快。