关于datagrid 点击列表头,datagrid会自己排序的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先sql语句排序好,然后在DataTable里添加一列(自增长的)就可以实现了! triout(笨牛)老兄已经把我的话都说了呢,不过点击时数据要重新组织,然后重新绑定到datagrid上 一种方法:在数据集里添加一列“排名”,然后绑定datagrid的相应列即可... 用sql实现,然后绑定就可以了! 关于序号的问题,这里给你个例子:<%@ Page language="C#"%><script language="c#" runat=server> void Page_Load(object sender,EventArgs e) { System.Data.DataTable dt=new System.Data.DataTable(); dt.Columns.Add("Score"); System.Data.DataRow dr; for(int i=0;i<10;i++) { dr=dt.NewRow(); dr["Score"]=100-i; dt.Rows.Add(dr); } DataGrid1.DataSource=dt; DataGrid1.DataBind(); } void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e) { Label lbl=e.Item.FindControl("Label1") as Label; if(lbl!=null) { lbl.Text=((int)(e.Item.ItemIndex+1)).ToString(); } }</script><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML xmlns:pan="http://schemas.code6421.com/PowerAsp"> <HEAD> <title>WebForm1</title> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> <meta content="C#" name="CODE_LANGUAGE"> <meta content="JavaScript" name="vs_defaultClientScript"> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <asp:DataGrid runat=server id=DataGrid1 OnItemDataBound="DataGrid1_ItemDataBound"> <Columns> <asp:TemplateColumn><ItemTemplate> <asp:Label RunAt=server id=Label1/> <asp:Label RunAt=server id=Label2 Text='<%#DataBinder.Eval(Container,"DataItem.Score")%>'/></ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> </form> </body></HTML> 有两种方法:1。在DATATABLE增加一个自动递增的列2。就是用DATAGRID的排序事件 可以在编程的时候用orderby排序 c/s 访问b/s上传的文件,提示文件不存在 ajax网站 的信息抓取,大神们可否指导个思路? 获得焦点问题 怎樣把一個字符“324234+2342342//??+'676'”當成一個字符進行查詢? c#+MapX开发地图标绘 我想把当前日期下的记录过滤出来,这个该怎么写? DataGrid的一个显示小问题!~ C#能开发window窗体程序吗? winform中两张pictureBox重叠,如何觉得谁在上谁在下? 关于事件中的参数问题!!! 分页刷新 我做上传文件出现下列问题,请指教
不过点击时数据要重新组织,然后重新绑定到datagrid上
在数据集里添加一列“排名”,然后绑定datagrid的相应列即可...
<script language="c#" runat=server>
void Page_Load(object sender,EventArgs e)
{
System.Data.DataTable dt=new System.Data.DataTable();
dt.Columns.Add("Score");
System.Data.DataRow dr;
for(int i=0;i<10;i++)
{
dr=dt.NewRow();
dr["Score"]=100-i;
dt.Rows.Add(dr);
}
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
}
void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
Label lbl=e.Item.FindControl("Label1") as Label;
if(lbl!=null)
{
lbl.Text=((int)(e.Item.ItemIndex+1)).ToString();
}
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML xmlns:pan="http://schemas.code6421.com/PowerAsp">
<HEAD>
<title>WebForm1</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:DataGrid runat=server id=DataGrid1 OnItemDataBound="DataGrid1_ItemDataBound">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label RunAt=server id=Label1/>
<asp:Label RunAt=server id=Label2 Text='<%#DataBinder.Eval(Container,"DataItem.Score")%>'/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</HTML>
1。在DATATABLE增加一个自动递增的列
2。就是用DATAGRID的排序事件
可以在编程的时候用orderby排序