我从数据库中检索了一组数据表后,我需要在绑定到gridview之前编辑rows值。 例如,从数据库中检索一组数据表。
例如:[userid],[userEmail] - > 1,james @ hotmail.com
我想将“james@hotmail.com”更改为“james”,然后将其绑定到gridview。 [userEmail]的每一行都将与邮件扩展名(@ hotmail.com)分开... 我该怎么办..?
答案 0 :(得分:6)
这样的事情应该有效:
DataTable dt = getMyDataTable();
foreach (DataRow dr in dt.Rows)
{
string email = Convert.ToString(dr["email"]);
email = email.Substring(0, email.IndexOf('@'));
dr["email"] = email;
}
答案 1 :(得分:2)
您需要点击GridView的DataBound事件并编辑userEmail值。
这样的事情:
void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// format the email, provided cell 1 is email
e.Row.Cells[1].Text = e.Row.Cells[1].Text.Substring(0, e.Row.Cells[1].Text.IndexOf("@"));
}
}
在ASPX文件中:
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
onrowdatabound="CustomersGridView_RowDataBound"
runat="server">
</asp:gridview>
参考: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx