可在DataGrid的属性生成器中选择“列”中的按钮列,选定“选择”并用链接按钮形式,页眉文本和文本字段填你的字段文本名,如ID。并取消运行时自动创建列选项。其他字段可用绑定列同样方法生成。最后在private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)中写入链接的页面,如Response.Redirect("*.aspx");这个方法只是把“选择”的功能改写成了链接的功能。

解决方案 »

  1.   

    楼上的,
    "链接按钮"会执行DataGrid1_SelectedIndexChanged吗?
    方法一:
    添加一个"链接按钮"列。
    然后在"URL字段"中填入字段名如email。
    然后"URL格式字符串"中加入URL以及所带的参数,如:mailto:{0}。
    这种方法的好处就是直接打开一个浏览器窗口,不必会到服务器去。
    方法二:
    添加一个"按钮"的"选择"列。
    然后在"文本字段"中加入字段名,如ID。
    在"按钮类型"中选择"链接按钮"。
    在DataGrid1_SelectedIndexChanged事件中,用e参数可以获取选择行,进而获得当前行的ID字段的值。然后再打开一个页面,把此值传递过去。
    这种方法的好处就是能在服务器端进行一些处理。
      

  2.   

    看一下这个代码:
    <ASP:DataGrid id="MyDataGrid" runat="server"
                Width="700"
                 AlternatingItemStyle-BackColor="#eeeeee"            BorderColor="black"
                ShowFooter="false" 
                CellPadding=0 
                CellSpacing="0"
                Font-Name="Verdana"
                Font-Size="8pt"
                HeaderStyle-BackColor="#cccccc"
                EnableViewState="true"
                AutoGenerateColumns="false"
                AllowSorting="true"
                OnSortCommand="MyDataGrid_Sort"
               
                AllowPaging="True"
                PagerStyle-Mode="NumericPages"
                PagerStyle-HorizontalAlign="Right"
                PagerStyle-NextPageText="Next"
                PagerStyle-PrevPageText="Prev"
                OnPageIndexChanged="MyDataGrid_Page"
                DataKeyField="id">
              <Columns>
               
                <asp:BoundColumn HeaderText="日期"  SortExpression="riqi" DataField="riqi" />
                <asp:BoundColumn HeaderText="部门"  SortExpression="bumen"  DataField="bumen"/>
                <asp:BoundColumn HeaderText="用户名"  SortExpression="yh"  DataField="yh"/>
                <asp:BoundColumn HeaderText="维护人"  SortExpression="whr"  DataField="whr"/>
                <asp:BoundColumn HeaderText="故障类型"  SortExpression="gzlx"  DataField="whr"/>
                <asp:HyperLinkColumn
                  DataNavigateUrlField="id"
                  DataNavigateUrlFormatString="detail.aspx?id={0}"
                  Text="Details"
                  target="new"
                 />          </Columns> 
    </asp:datagrid>
      

  3.   

    这样写代码多费时,既然有了Visual Studio .NET,当然用它的IDE环境呀。
    又快又省事。