私は一週間近く私の側に棘がある問題があります。私は、ユーザーがアカウントを作成し、データベースから選択したビデオを読み込むことができるサイトを持っています。私は彼らが選んだものを見て、そこにビデオがある特定の順序で現れるようにしたいと思います。私の問題は、ビデオがランダムな順序で表示されることです。私はこれが基本的かもしれないことは分かっていますが、私はちょうどエントリーレベルです(私は卒業して2週間しか経っていません)。すべての機能が動作するので、必要なヘルプはありません。データバインドされたアイテムを並べ替える方法
仕様: C#ASP.NETでコードされています チェックボックスリストを使用して選択範囲を追加および削除します。 私はバックエンドでビデオを追加したり削除したりできるようにデータアイテムを持っています。
これは、マイナス投票を得るかもしれないと私は知っていますが、私はそれが好まれませんが、私はこの問題に関していくつかの助けが必要です。あなたがコードを持っていないことを私に叫ぶ前に、あなたが見たいものを教えてください。そうすれば、無駄なコードがたくさん追加されることはありません。
私は短くしようとしていない、むしろ私が試したすべてがうまくいかないと不満を抱いています。
ありがとうございます。 EDIT
:ここ はそれのためにSqlDataSourceです:
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:fivideoConnectionString %>"
ProviderName="<%$ ConnectionStrings:fivideoConnectionString.ProviderName %>"
InsertCommand="INSERT INTO dealervideo(DealerRecID,VideoRecID) VALUES (?,?)"
DeleteCommand="DELETE FROM dealervideo where RecID = ?" >
<DeleteParameters>
<asp:SessionParameter Name="recid" SessionField="videorecid" />
</DeleteParameters>
<InsertParameters>
<asp:ControlParameter ControlID="hidRecID" Name="recid" PropertyName="Value" />
<asp:SessionParameter Name="videorecid" SessionField="videorecid" />
</InsertParameters>
</asp:SqlDataSource>
そして、ここでGridViewのです:
<asp:GridView ID="GridView2" runat="server"
DataSourceID="SqlDataSource2" AutoGenerateColumns="False"
DataKeyNames="RecID" CellSpacing="5" BorderStyle="None" BorderWidth="0px">
<Columns>
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:CheckBox ID="cbDelete" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
</Columns>
</asp:GridView>
そして、これは、彼らがリストに動画を追加するためにクリックイベントです。
protected void btnAddVideo_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in GridView3.Rows)
{
CheckBox chkItem = (CheckBox)gvr.FindControl("cbAdd");
if (chkItem.Checked)
{
String sRecID = GridView3.DataKeys[gvr.RowIndex].Value.ToString();
Session["videorecid"] = sRecID;
SqlDataSource2.Insert();
SqlDataSource2.SelectCommand = "SELECT * FROM dealervideo inner join videos on videos.RecID = dealervideo.VideoRecID inner join dealers on dealers.RecID = dealervideo.DealerRecID where dealers.RecID = " + hidRecID.Value;
}
}
GridView2.DataBind();
?あなたはどのようにビデオのデータを取得しますか? – Oded
あなたのSelectCommandはどこですか? – Khan
ボタンをクリックします。動画はユーザーごとに正しく引き出され、正しい順序で表示されません。私は1つを欠いていますか? – Peter