Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从数据库中提取数据时,如何在GridView中仅显示日期?C#_C#_Asp.net_Sql_Date_Gridview - Fatal编程技术网

从数据库中提取数据时,如何在GridView中仅显示日期?C#

从数据库中提取数据时,如何在GridView中仅显示日期?C#,c#,asp.net,sql,date,gridview,C#,Asp.net,Sql,Date,Gridview,我正在从access数据库中提取数据,以显示在ASP.NET项目的GridView控件中。它工作得很好,但我想看看是否可以格式化正在提取的数据。目前,任何货币都将从xx.xx截断为美元金额。此外,日期显示为mm/dd/yyyy hh/mm/ss AM/PM 我尝试将数据库本身编辑为正确的值(我将“货币”字段设置为“货币”,将“日期”字段设置为“短日期”),但当我提取该日期时,它仍然显示它们未格式化 编辑:很抱歉,我不得不删除代码 有什么想法吗? 谢谢您只需要设置dataformatstring,

我正在从access数据库中提取数据,以显示在ASP.NET项目的GridView控件中。它工作得很好,但我想看看是否可以格式化正在提取的数据。目前,任何货币都将从xx.xx截断为美元金额。此外,日期显示为mm/dd/yyyy hh/mm/ss AM/PM

我尝试将数据库本身编辑为正确的值(我将“货币”字段设置为“货币”,将“日期”字段设置为“短日期”),但当我提取该日期时,它仍然显示它们未格式化

编辑:很抱歉,我不得不删除代码

有什么想法吗?
谢谢

您只需要设置dataformatstring,并指定填充方式即可

如MSDN页面所示:

金钱:

<asp:BoundColumn HeaderText="Price" DataField="Price"
                                     DataFormatString="{0:c}" />

对于{0:c},在c值之后放置一个数字(例如{0:c2})将得到那么多的小数位数

日期:


一种解决方案是:

  <asp:GridView ID="gvLEmployees" runat="server" AutoGenerateColumns="false" >
                                <Columns>
                                    <asp:TemplateField HeaderText="Name">
                                        <ItemTemplate>

                                                <%# Eval("Name")  %>                             
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="Date">
                                        <ItemTemplate>
                                             <%# Convert.ToDateTime(Eval("JoinDate")).ToShortDateString() %>
OR
<%# Convert.ToDateTime(Eval("JoinDate")).ToString("d") %>
                                        </ItemTemplate>

                                    </asp:TemplateField>
        </Column>
        </Gridview>

在您的网格视图中添加名为
DataFormatString的属性

DataFormatString示例:

{0:dd MMMM yyyy} - gives 24 February 2006 {0:MMM dd} - gives Feb 24 (substitue MMM with MMMM for the full month name instead of abbreviation) {0:dd/MM/yy} - gives 24/02/06 {0:dd/MM/yyyy} - gives 24/02/2006 {0:dd-MMMM-yyyy}-2006年2月24日 {0:MMM dd}-给出2月24日(用MMMM替换MMM作为完整的月份名称 (而不是缩写) {0:dd/MM/yy}-2006年2月24日 {0:dd/MM/yyyy}-2006年2月24日 示例代码

<asp:BoundField HeaderText="Date" 
                DataField="SampleDate" 
                DataFormatString="{0:MM/dd/yyyy}"  >

您必须创建一个BoundField,设置其属性(包括属性dataformatstring),您可以使用该属性设置GridView中显示的字段格式,然后将其添加到GridView控件中

下面是一些代码

 public GridView Cr_GridView(string[] ColNames,string[] ColLable, string[] ColFormat)
        {
            GridView GV = new GridView();
            int x = ColNames.GetUpperBound(0);

            for (int i = 0; i < x; i++)
            {
                BoundField GvField = new BoundField();

                GvField.DataField = ColNames[i];
                GvField.HeaderText = ColLable[i];
                GvField.DataFormatString = ColFormat[i];// for example "{0:dd/MM/yyyy}" for a date field

                GV.Columns.Add(GvField);
            }
            return GV;
        } 
public GridView Cr\u GridView(string[]ColNames,string[]ColLable,string[]ColFormat)
{
GridView GV=新的GridView();
int x=ColNames.GetUpperBound(0);
对于(int i=0;i
请使用一些示例代码编辑您的问题。刚刚添加了代码。谢谢请从aspx页面为gridview添加标记。可能需要设置列的格式字符串。谢谢!这很好,但现在我正在获取格式化列,然后从代码生成的未格式化列中获取另一组。代码Iused:Amarnath,我没有收到任何错误,但是重复列,例如:AddAutoGenerateColumns in the grid to false此属性将添加在GridViewID之后使用
DataFormatString=“{0:d}”
将其本地化为任何区域性。
 public GridView Cr_GridView(string[] ColNames,string[] ColLable, string[] ColFormat)
        {
            GridView GV = new GridView();
            int x = ColNames.GetUpperBound(0);

            for (int i = 0; i < x; i++)
            {
                BoundField GvField = new BoundField();

                GvField.DataField = ColNames[i];
                GvField.HeaderText = ColLable[i];
                GvField.DataFormatString = ColFormat[i];// for example "{0:dd/MM/yyyy}" for a date field

                GV.Columns.Add(GvField);
            }
            return GV;
        }