Segui os passos de um tutorial mas mesmo assim está dando o seguinte erro:
couldn't find sort field 'prodorder' in bound data
Estou usando List normal, veja o código.
<ajax:ReorderList ID="ReorderList1" runat="server" DataSourceID="odsListProd" DragHandleAlignment="Left" ItemInsertLocation="Beginning" DataKeyField="prodid" SortOrderField="prodorder" EnableViewState="true" AllowReorder="true">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# HttpUtility.HtmlEncode(Convert.ToString(Eval("prodreferencia"))) %>'></asp:Label>
<asp:Label ID="Label2" runat="server" Text='<%# HttpUtility.HtmlEncode(Convert.ToString(Eval("prodnome"))) %>'></asp:Label>
<asp:Label ID="Label3" runat="server" Text='<%# HttpUtility.HtmlEncode(Convert.ToString(Eval("prodorder"))) %>'></asp:Label>
</ItemTemplate>
<ReorderTemplate>
<asp:Panel ID="Panel2" runat="server" CssClass="reorderCue" />
</ReorderTemplate>
<DragHandleTemplate>
<div class="dragHandle"></div>
</DragHandleTemplate>
</ajax:ReorderList>
<asp:ObjectDataSource ID="odsListProd" runat="server" TypeName="Onl.DAL" OldValuesParameterFormatString="original_{0}"
SelectMethod="ListProdutoPorCatSubCat" UpdateMethod="AltCateOrder">
<SelectParameters>
<asp:ControlParameter ControlID="ddlCat" ConvertEmptyStringToNull="true" Name="cateid" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="ddlSubCat" ConvertEmptyStringToNull="true" Name="subcateid" PropertyName="SelectedValue" DefaultValue="0" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="cateid" />
<asp:Parameter Name="subcateid" />
<asp:Parameter Name="original_prodid" />
<asp:Parameter Name="prodorder" />
</UpdateParameters>
</asp:ObjectDataSource>
public static List<Produto> ListProdutoPorCatSubCat2(int cateid, int subcateid)
{
List<Produto> list = new List<Produto>();
string strSql = "SELECT p.prodid, p.prodreferencia, p.prodnome, p.prodorder FROM produto AS p " +
"WHERE p.cateid = ?p1 ";
// Para subcategoria
if (subcateid != 0 && subcateid != 9999) strSql += " AND p.subcateid = ?p2 ";
strSql = strSql += " GROUP BY p.prodid ORDER BY p.prodid DESC, p.prodorder ASC;";
using (MySqlConnection MyConn = new MySqlConnection(strConnDb))
{
using (MySqlCommand cmd = new MySqlCommand(strSql, MyConn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("?p1", cateid);
cmd.Parameters.AddWithValue("?p2", subcateid);
try
{
MyConn.Open();
using (MySqlDataReader rd = cmd.ExecuteReader())
{
while (rd.Read())
{
Produto tmp = new Produto();
tmp.Prodid = Convert.ToInt32(rd[0]);
tmp.Prodreferencia = Convert.ToString(rd[1]);
tmp.Prodnome = Convert.ToString(rd[2]);
if (!Convert.IsDBNull(rd[3])) tmp.Prodorder = Convert.ToInt32(rd[3]);
list.Add(tmp);
}
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
MyConn.Close();
}
}
}
return list;
}
Alguém pode me ajudar?
/* Não esqueça de classificar caso tenha resolvido o problema */