2017-05-11 36 views
0

我想更改GridView列值。 我已经创建了“枚举”来将我的值以整数格式存储在数据库中。但是当显示Gridview时,我想显示“Enum”文本而不是值。 目前,我在gridview列中显示Enum int值。 请帮我在gridview列中显示字符串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

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

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”
它现在能正常使用。