我有一个gridview,其中一列将日期和时间存储在一起。 我想将该列拆分为两个,一个存储日期,另一个存储时间。 有没有办法实现这个目标? 感谢。
这是我用来将gridview导出为excel的代码。
protected void exportBtn_Click(object sender, EventArgs e)
{
loadGridViewContent();
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=report.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.xls";
Response.Write(@"<style> TD {mso-number-format:\@;}</style>");
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
HtmlForm frm = new HtmlForm();
gvResult.Parent.Controls.Add(frm);
frm.Controls.Add(gvResult);
frm.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
这就是我现在所拥有的。
|----------------------| | 13-MAR-2013 14:24:05 | |----------------------|
这就是我想要完成的事情。
|-------------|----------| | 13-MAR-2013 | 14:24:05 | |-------------|----------|
答案 0 :(得分:0)
这是你可以做到的:
<asp:GridView runat="server" ID="gv" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField DataField="YourDateTimeColumn" HeaderText="Date" DataFormatString="{0:MM/dd/yyyy}"/>
<asp:BoundField DataField="YourDateTimeColumn" HeaderText="Time" DataFormatString="{0:hh:mm:tt}" />
</Columns>
</asp:GridView>
答案 1 :(得分:0)
为此你需要做一些返工。要导出到Excel,您需要使用虚拟gridview为其分配日期和时间的单独列。您会找到有用的代码Here
答案 2 :(得分:0)
尝试添加另外两列来保存日期和时间值,通过在这些列上将visible属性设置为false来隐藏它们。
在您将租用设置为可见之前并隐藏DateTime列并对其进行渲染。
隐藏列
gvResult.Columns[columnsIndex1].visible = false;
显示列
gvResult.Columns[columnsIndex2].visible = true;
gvResult.DataBind();
最终呈现它。
gvResult.RenderControl(htmlWrite);