可在DataGrid的属性生成器中选择“列”中的按钮列,选定“选择”并用链接按钮形式,页眉文本和文本字段填你的字段文本名,如ID。并取消运行时自动创建列选项。其他字段可用绑定列同样方法生成。最后在private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)中写入链接的页面,如Response.Redirect("*.aspx");这个方法只是把“选择”的功能改写成了链接的功能。
调试欢乐多
"链接按钮"会执行DataGrid1_SelectedIndexChanged吗?
方法一:
添加一个"链接按钮"列。
然后在"URL字段"中填入字段名如email。
然后"URL格式字符串"中加入URL以及所带的参数,如:mailto:{0}。
这种方法的好处就是直接打开一个浏览器窗口,不必会到服务器去。
方法二:
添加一个"按钮"的"选择"列。
然后在"文本字段"中加入字段名,如ID。
在"按钮类型"中选择"链接按钮"。
在DataGrid1_SelectedIndexChanged事件中,用e参数可以获取选择行,进而获得当前行的ID字段的值。然后再打开一个页面,把此值传递过去。
这种方法的好处就是能在服务器端进行一些处理。
<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>
又快又省事。