C# 为什么Dataformatstring属性未应用于我的网格?
我正在尝试在网格中应用BoundField列的DataFormatString属性。我是从代码后面做这件事的,因为我希望DataFormatString值是可配置的 我已经在我的应用程序的其他页面的一些网格上应用了它 但是我无法找到为什么我的页面中的这个网格与其他页面中的相同asp网格不起作用的原因 这是我的aspxC# 为什么Dataformatstring属性未应用于我的网格?,c#,asp.net,gridview,datagridview,webforms,C#,Asp.net,Gridview,Datagridview,Webforms,我正在尝试在网格中应用BoundField列的DataFormatString属性。我是从代码后面做这件事的,因为我希望DataFormatString值是可配置的 我已经在我的应用程序的其他页面的一些网格上应用了它 但是我无法找到为什么我的页面中的这个网格与其他页面中的相同asp网格不起作用的原因 这是我的aspx <asp:GridView ID="GridViewYearWiseData" runat="server" CellPadding="2" AllowSorting="fa
<asp:GridView ID="GridViewYearWiseData" runat="server" CellPadding="2" AllowSorting="false"
SkinID="GridviewSkin" ViewStateMode="Enabled" ShowHeader="True" AutoGenerateColumns="false"
AllowPaging="false" Width="250px" Height="99%" GridLines="None"
ShowFooter="false" EmptyDataText="No Data Found."
ShowHeaderWhenEmpty="True" HeaderStyle-Height="30px" RowStyle-Height="25px" OnDataBound="GridViewYearWiseData_DataBound" OnSelectedIndexChanged="GridViewYearWiseData_SelectedIndexChanged"
BorderStyle="None">
<Columns>
<asp:TemplateField HeaderText="Duration" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="LinkButtonRange" runat="server" Text='<%# Eval("Duration") %>' CommandName="Select"> </asp:LinkButton>
<input type="hidden" id="FromMonth" value='<%# Eval("FromMonth") %>' runat="server" />
<input type="hidden" id="ToMonth" value='<%# Eval("ToMonth") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="value1" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="80px" HeaderStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="value2" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="80px" HeaderStyle-HorizontalAlign="Center" />
</Columns>
<HeaderStyle HorizontalAlign="Center" />
<PagerSettings FirstPageText="First" LastPageText="Last" Mode="NextPreviousFirstLast" NextPageText="Next" PageButtonCount="4" PreviousPageText="Previous" />
</asp:GridView>
这是我的数据源
关于哪里出错有什么想法吗?我首先检查value1和value2在绑定源中是否具有数字数据类型。@Alex是的,这些值仅为数字类型。我已经用数据源的屏幕截图更新了我的问题。
protected void GridViewYearWiseData_DataBound(object sender, EventArgs e)
{
var currentMethod = (new System.Diagnostics.StackFrame()).GetMethod().Name;
log.Info(AppConstants.StrStart + currentMethod);
try
{
GridRoundoffDecimal =Convert.ToInt32(resXResourceSet.GetString("GridMaxDecimals"));//Line of code to get from the database, the number of decimals to be displayed in the grid after the decimal point
System.Web.UI.WebControls.GridView grid = (System.Web.UI.WebControls.GridView)sender;
BoundField col1 = (BoundField)grid.Columns[1];
BoundField col2 = (BoundField)grid.Columns[2];
col1.DataFormatString = "{0:N" + GridRoundoffDecimal + "}";
col2.DataFormatString = "{0:N" + GridRoundoffDecimal + "}";
}
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(this, typeof(Page), mLiquidateMain.GlobalConstants.script, mLiquidateMain.GlobalConstants.alertOf + GetErrorMessage(ex.Message) + "\");", true);
log.Error(ex.Message, ex);
}
finally
{
log.Info(AppConstants.StrEnd + currentMethod);
}
}