我试着在网上查看这个,但我想我不知道在没有完整解释的情况下我该怎么说这个问题。
我有一个带搜索栏的网络表单。当您输入搜索词时,它会查询数据库并提取信息并填充网格视图。我正在使用以下代码:
allSubIABs
在过去,我只使用 string find = "SELECT tblShipments.ShipmentID as [Shipment ID], tblShipmentsAssets.DateShip as [Date Shipped], FROM tblShipments INNER JOIN(tblAssets INNER JOIN tblShipmentsAssets ON tblAssets.AssetID = tblShipmentsAssets.AssetIDFK) ON tblShipments.ShipmentID = tblShipmentsAssets.ShipmentIDFK where(AssetIDFK like '%' + @assetidfk + '%' )";
OleDbCommand comm = new OleDbCommand(find, con);
comm.Parameters.Add("@assetidfk", OleDbType.Char).Value = TxtSearch.Text;
con.Open();
comm.ExecuteNonQuery();
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = comm;
DataSet ds = new DataSet();
da.Fill(ds, "AssetIDFK");
SearchGridView.DataSource = ds;
SearchGridView.DataBind();
使用aspx代码填充gridview,然后我就可以获取包含<asp:SqlDataSource>
标记的日期的列并添加{ {1}}获取我想要的格式:
<columns>
使用我的C#方法填充gridview,我没有DataFormatString="{0:d}"
部分来更改数据格式。我会假设我需要在后面的代码中执行此操作,但是我不知道该怎么做。
答案 0 :(得分:0)
弄清楚我做错了什么:
通过<AutoGenerateColumns ="true">
,我的列(大惊喜)会自动生成,然后我在.aspx中的标记下添加列生成重复的列。
我将其更改为<AutoGenerateColumns ="false">
,在标记下手动输入我的列,并使用DataFormatString="{0:MM/dd/yyyy hh:mm tt}"
更改日期格式。
抱歉这个愚蠢的问题。希望这可以帮助别人避免同样的错误..