2 mnbvcxzsl MNBVCXZSL 于 2013.08.06 15:44 提问

asp.net repeater 绑定数据后 怎么改变显示的顺序
<ul style=" margin-left:20px">
    <asp:Repeater ID="rep_data" runat="server">

  <ItemTemplate> 
  <li  ><p ><span><%# Eval("data").ToString()%>:</span></li> 

  </ItemTemplate>

    </asp:Repeater>
 </ul>

就是如果显示的是:XXX
待定
xxxx
xxxx

能不能将“待定”放在最后一行。谢谢各位了!

3个回答

heli_1991
heli_1991   2013.08.07 10:44
已采纳

可以!

        <asp:Repeater ID="repPhoto1" runat="server">
            <HeaderTemplate>
                 <table border="1" width="70%">
                <tr>                   
                    <th>XXX</th>                   
                    <th>名xx</th>                    
                    <th>xxxx</th>
                    <th>待定</th>                    
                </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td><img id="Img1" src='<%# Eval("cPhoto") %>' width="27" height="32" runat="server" /> </td> 
                    <td><%# Eval("cName")%></td> 
                    <td><%# Eval("cHospital")%></td> 
                    <td><%# Eval("times") %></td> 这里就是你绑定待定的数据
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>
    </div>”
f10_s
f10_s   2013.08.13 22:18

以前网上看到的,可以试试,自定义linq排序
var ids = new[]{ 25, 23, 19, 21, 22, 26 };
var q = Archives.Where(a => ids.Contains(a.Id)).ToArray();
var r = q.OrderBy(a => Array.IndexOf(ids, a.Id));

u011441536
u011441536   2013.08.13 08:37

可以在SQL语句做排序啊
把所有列都追加一个列,这个列可以是数字
然后用CAST WHEN 对每一个列赋值,把待定的列值给大一点,然后按这个列排序就行了

或者用ROW_NUMBER()over(字段),也行
最好把你的SQL语句让我们看一看

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!