datalist中放一个datagrid,这个datagrid中有一列为序号,要求自动生成,如何用代码实现?

解决方案 »

  1.   

    这样简单:
    cs文件里:
    public int RowNum =1; //记录序号aspx文件里:<%# RowNum++%>  <asp:datagrid id="DataGrid1" runat="server" CellPadding="1" BorderWidth="1px" BorderStyle="None"
    BorderColor="White" AutoGenerateColumns="False" Width="100%" BackColor="#D4D0C8" CellSpacing="1"
    ShowHeader="False">
    <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
    <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="Gray" BackColor="Azure"></HeaderStyle>
    <FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
    <Columns>
    <asp:TemplateColumn HeaderText="№序号">
    <HeaderStyle Width="40px"></HeaderStyle>
    <ItemStyle Width="40px"></ItemStyle>
    <ItemTemplate>
    <%# RowNum++%>  注意这里的
    </ItemTemplate>
    </asp:TemplateColumn>
                             .....................这样就OK了
      

  2.   

    用模板列,e.ItemIndex+1就是序号。
      

  3.   

    strMeter="SELECT (SELECT SUM(1) FROM (SELECT DISTINCT "+
    " * FROM DisplayTerminalMeterView WHERE "+
    " SupplyAreaID = "+Convert.ToInt32(Session["SupplyID"].ToString())+") "+
    " b WHERE b.TerminalMeterID <= a.TerminalMeterID) AS sn, "+
    " * FROM (SELECT DISTINCT * FROM DisplayTerminalMeterView "+
    " WHERE SupplyAreaID = "+Convert.ToInt32(Session["SupplyID"].ToString())+") a";//这种麻烦一点,但也能实现!直接将SQL语句绑定给DATAGRID就行了!让数据库完成这个功能!