数据绑定时应更改GridView值

时间:2017-05-11 11:05:24

标签: asp.net gridview enums

我想更改GridView列值。 我创造了" Enum"将我的值以interger格式存储在数据库中。但是在展示Gridview时我想要显示" Enum"文字而不是价值观。 目前我在gridview列中显示Enum int值。 请帮我在gridview列中显示字符串

这是我显示gridview的代码。

public void BindData()
{
    string selectSQL = "SELECT * FROM ClientInfo";
    SqlConnection con = new SqlConnection(connectionString);
    SqlDataAdapter da = new SqlDataAdapter(selectSQL, con);
    DataSet ds = new DataSet();
    da.Fill(ds, "ClientInfo");
    GridView1.DataSource = ds.Tables["ClientInfo"].DefaultView;
    GridView1.DataBind();
}

Flow Column should display string instead of int

1 个答案:

答案 0 :(得分:1)

我得到了答案。我们必须创建如下新功能:

protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        TableCell statusCell = e.Row.Cells[6];
        int value = Convert.ToInt32(statusCell.Text);
        Flows flowTypeName = (Flows)Enum.ToObject(typeof(Flows), value);
        statusCell.Text = flowTypeName.ToString();
    }
}

&安培;我们必须在GridView中将该函数称为 OnRowDataBound =" OnRowDataBound"
它现在正常运作。