我有一个gridview我绑定与GridView控件其动态所以没有硬code在DESIN文本数据表。
我试过后,数据绑定和GridView的,但没有成功的preRender去改变它。
其实有下划线(_)的文本,我想用空格替换它。
下面是code
< ASP:GridView控件ID =grdSearchResult=服务器的AutoGenerateColumns =真WIDTH =99%在preRender =grdSearchResult_ preRender
OnRowCreated =grdSearchResult_OnRowCreatedOnPageIndexChanging =grdSearchResult_PageIndexChanging>
< HeaderStyle前景色=白背景色=#215B8D/>
< AlternatingRowStyle背景色=#F7F7F7/>
< RowStyle的CssClass =gridtextHorizontalAlign =中心/>
< / ASP:GridView控件>
保护无效grdSearchResult_ preRender(对象发件人,EventArgs的)
{
的for(int i = 0; I< grdSearchResult.Columns.Count;我++)
{
grdSearchResult.Columns [I] .HeaderText = grdSearchResult.Columns [Ⅰ] .HeaderText.Replace(_,);
}
}
解决方案
能做到这一点与的RowDataBound
GridView控件的事件
保护无效grdSearchResult_RowDataBound(对象发件人,GridViewRowEventArgs E)
{
如果(e.Row.RowType == DataControlRowType.Header)
{
的for(int i = 0; I< e.Row.Cells.Count;我++)
{
e.Row.Cells [I]。文= e.Row.Cells [Ⅰ] .Text.Replace(_,);
}
}
}
和它工作正常。
I have a gridview I bound a DataTable with that Gridview Its dynamic so no hardcode Text in desin.
I tried to change it after Databound and in PreRender of gridview but no Success.
Actually there are Underscores('_') in text and I want to Replace it with space.
Below is code
<asp:GridView ID="grdSearchResult" runat="server" AutoGenerateColumns="True" Width="99%" OnPreRender="grdSearchResult_PreRender"
OnRowCreated="grdSearchResult_OnRowCreated" OnPageIndexChanging="grdSearchResult_PageIndexChanging">
<HeaderStyle ForeColor="White" BackColor="#215B8D" />
<AlternatingRowStyle BackColor="#F7F7F7" />
<RowStyle CssClass="gridtext" HorizontalAlign="Center" />
</asp:GridView>
protected void grdSearchResult_PreRender(object sender, EventArgs e)
{
for (int i = 0; i < grdSearchResult.Columns.Count; i++)
{
grdSearchResult.Columns[i].HeaderText = grdSearchResult.Columns[i].HeaderText.Replace("_", "");
}
}
解决方案
Can do this with RowDataBound
event of GridView
protected void grdSearchResult_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
e.Row.Cells[i].Text = e.Row.Cells[i].Text.Replace("_", " ");
}
}
}
and it works fine.