...
...
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox id="CheckBox1" runat="server" TextAlign="Left"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>cs:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemIndex>-1)
{
CheckBox cb=(CheckBox)(e.Item.Cells[0].Controls[1]);
cb.Text=(e.Item.ItemIndex+1).ToString();
}
}

解决方案 »

  1.   

    <asp:datagrid id="DtgdClass" Width="100%" runat="server" BorderWidth="1px" BorderColor="Black" AllowPaging="True" OnItemCreated="ItemCreated" AutoGenerateColumns="False">
    <SelectedItemStyle Wrap="False"></SelectedItemStyle>
    <ItemStyle Wrap="False"></ItemStyle>
    <HeaderStyle HorizontalAlign="Center" BackColor="#99CCFF"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn>
    <HeaderStyle Width="20px"></HeaderStyle>
    <ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <INPUT type="checkbox" id="chk" name="chk" runat =server onclick="return ChkClick();" value='<%# DataBinder.Eval(Container, "DataItem.FileID") %>'>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="序号">
    <HeaderStyle Width="28px"></HeaderStyle>
    <ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn Visible="False" DataField="FileID">
    <HeaderStyle Wrap="False" Width="2px"></HeaderStyle>
    <ItemStyle Wrap="False"></ItemStyle>
    <FooterStyle Wrap="False"></FooterStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="FileNo" HeaderText="文号">
    <HeaderStyle HorizontalAlign="Center" Width="75px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="DutyUser" HeaderText="责任者">
    <HeaderStyle HorizontalAlign="Center" Width="60px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="FileName" HeaderText="文件名">
    <HeaderStyle HorizontalAlign="Center" Width="150px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="FileDate" HeaderText="日期">
    <HeaderStyle Width="70px"></HeaderStyle>
    <ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="PageNum" HeaderText="页号">
    <HeaderStyle Width="50px"></HeaderStyle>
    <ItemStyle Wrap="False"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="Note" HeaderText="备注">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    </Columns>
    <PagerStyle VerticalAlign="Bottom" NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Left" Wrap="False"></PagerStyle>
    </asp:datagrid>
      

  2.   

    strSql = "select FileID,FileNo,DutyUser,'<a href=javascript:ArchFile(""ArchReadFile.aspx?sFileID=' + Cast(FileID as varchar(20))+ '"")>'+FileName+'</a>' as FileName,convert(Char(10),FileDate,21) as 'FileDate',PageNum,Note from T_ArchFileContent where ArchNum='" + sArchNo(0) + "' and CentNo='" + sCentNo(0) + "' order by CentNo"FileTable = New DataTable()
    FileTable = ArchFile.Query(strSql)DtgdClass.DataSource = FileTable.DefaultView
    DtgdClass.DataBind()
      

  3.   

    先在DATAGRID的模板列增加一个CHECKBOX列,ID为DEL,然后在CODE页里:
    Dim SelectItem As CheckBox
    SelectItem = DataGrid1.Items(i).FindControl("Del")
    If (SelectItem.Checked) Then
       ID=DataGrid1.DataKeys.Item(i).ToString()
    End If
    这样就可以获取哪一行的ID了
      

  4.   

    asp.net的vb代码:
    ctype(youDG.item.findcontrol("checkboxID"),checkbox).checked=true
      

  5.   

    foreach(DataGridItem dgi in DataGrid1.Items)
    {
      CheckBox cb=(CheckBox)dgi.Cells[0].FindControl("cb");
      if (cb.Checked==true)
      {
        int i=dgi.ItemIndex;
        ....
      }
    }