Как сортировать элементы с привязкой к данным - PullRequest
0 голосов
/ 02 марта 2012

У меня есть проблема, которая была шипом в моей стороне в течение почти недели. У меня есть сайт, на котором пользователи могут создавать учетные записи и загружать видео, выбирая их из базы данных. Я хотел бы, чтобы видео отображались в определенном порядке на странице, когда они смотрят те, которые они выбрали. Моя проблема в том, что видео появляются в случайном порядке. Я знаю, что это может быть основным, но я только сейчас начальный уровень (прошло всего две недели с тех пор, как я закончил). Вся функциональность работает, так что никакой помощи там не требуется, только эта чертова штука для заказа.

Технические характеристики: Кодируется в 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();

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Добавьте "ORDER BY" к вашей команде выбора и к полю, в котором вы хотите упорядочить ее.

0 голосов
/ 02 марта 2012

Я предполагаю, что вы привязываетесь к результатам хранимой процедуры или команды sql? В таком случае, почему бы не использовать в своем выражении SQL предложение «Order By»? Элементы будут отображаться в том порядке, в котором они были извлечены из базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...