私はこれをオンラインで見てみましたが、完全な説明なしにどのように質問を語るべきかわかりません。データセット内の日付書式を変更する
私は検索バーでウェブフォームを持っています。検索用語を入力すると、データベースに照会して情報を取得し、グリッドビューにデータを入力します。私は次のコードを使用しています。過去には
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();
を、私は単に<asp:SqlDataSource>
を使用してASPXコードでのみのGridViewを埋めてきたし、そこに私は<columns>
タグをwithing日付を保持する列で取得することができたと私が望んでいたフォーマットを取得するにはDataFormatString="{0:d}"
に追加します。
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" HorizontalAlign="Center">
<Columns>
<asp:BoundField DataField="NextCal" HeaderText="Calibration Due" DataFormatString="{0:d}" >
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Database %>" ProviderName="<%$ ConnectionStrings:Database.ProviderName %>" SelectCommand="SELECT , [NextCal] FROM [tblAssets]"></asp:SqlDataSource>
をGridViewのを埋めるの私のC#の方法では、私は、データ形式を変更する<Columns>
セクションを持っていません。私は、私はコードの背後でこれを行う必要があると仮定しますが、私はそれを行う方法がわかりません。私が間違って何をやっていた考え出した
期待どおりの形式で試してみてください。 'DataFormatString =" {0:MM/dd/yyyy hh:mm tt} "' – MethodMan
これはうまくいった。しかし、新しい問題:セクションで私の日付の列が呼び出されたとき、そのデータを含む重複する列が追加されます。 1つは古い形式、もう1つは新しい形式です。 –
Brock
なぜこの行を使って選択クエリを実行しているのですか? 'comm.ExecuteNonQuery();'また、データテーブルを使ってクエリが重複を引っ張っていないことを確認します。 – MethodMan