Grid排序的问题, 急!!!!!
Grid排序的问题,
点击表头排序, 全部分逢上
问题点数:50、回复次数:6Top
1 楼abandonship(焚酒煮剑)回复于 2005-11-11 09:50:01 得分 0
1.html代码
<HTML>
<HEAD>
<title>DatagridTest</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">
<script language="javascript">
function fun_option(obj)
{
document.Form1.hiduserid.value=obj.value;
alert(obj.value);
}
function chkAll_true()
{
var chkall= document.all["chkAll"];
var chkother= document.all["chkExport"];
if(chkother.length>0)
{
for (var i=0;i<chkother.length;i++)
{
if(chkall.checked==true)
{
chkother[i].checked=true;
}
else
{
chkother[i].checked=false;
}
}
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" height="100%" cellSpacing="1" cellPadding="1" width="100%" border="1">
<tr height="30">
<td><INPUT id="chkAll" onclick="chkAll_true()" type="checkbox">全选/取消</td>
</tr>
<TR vAlign="top">
<TD width="100%"><asp:datagrid id="DataGrid1" runat="server" ForeColor="Black" GridLines="None" CellPadding="2"
BackColor="LightGoldenrodYellow" BorderWidth="1px" BorderColor="Tan" AllowSorting="True" AutoGenerateColumns="False"
DataKeyField="UserID" OnUpdateCommand="Update" OnCancelCommand="Cancel" OnEditCommand="Edit">
<FooterStyle BackColor="Tan"></FooterStyle>
<SelectedItemStyle ForeColor="GhostWhite" BackColor="DarkSlateBlue"></SelectedItemStyle>
<AlternatingItemStyle BackColor="PaleGoldenrod"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" BackColor="Tan"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="No">
<ItemTemplate>
<INPUT id="radio" type="radio" name="radio" onclick="fun_option(this)" value='<%# DataBinder.Eval(Container.DataItem,"UserID") %>'>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="No"></asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<INPUT id="chkExport" type="checkbox">
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="UserID" SortExpression="UserID" HeaderText="UserID"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="姓名" SortExpression="UserName">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"UserName") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="UserName" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"UserName") %>' Width="88px">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="省市" SortExpression="province">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"province") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="province" Runat="server" OnSelectedIndexChanged="ddlpovince_SelectedIndexChanged"
AutoPostBack="True"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="县市" SortExpression="city">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"city") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="city" Runat="server"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="可见否" SortExpression="Enabled">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"Enabled") %>
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="chkenabled" Runat="server" Checked='<%# DataBinder.Eval(Container.DataItem,"Enabled") %>'>
</asp:CheckBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="DarkSlateBlue" BackColor="PaleGoldenrod"></PagerStyle>
</asp:datagrid></TD>
</TR>
<tr height="30">
<td></td>
</tr>
</TABLE>
<INPUT id="hiduserid" type="hidden" runat="server">
</form>
</body>
</HTML>Top
2 楼abandonship(焚酒煮剑)回复于 2005-11-11 09:50:50 得分 0
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
SortExpression="";
sort="desc";
DataBind();
}
}
DataBind#region DataBind
private void DataBind()
{
string sql="select a.UserID,a.UserName,b.province,c.city,a.Enabled,b.provinceID,c.cityID from testgrid a ";
sql+=" left join povince b on a.Country=b.provinceID";
sql+=" left join city c on a.State=c.cityID";
DataSet ds=GetDataSet(sql);
dt=ds.Tables[0];
this.DataGrid1.DataSource=dt;
this.DataGrid1.DataBind();
}
#endregion
Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
this.DataGrid1.ItemDataBound+=new DataGridItemEventHandler(DataGrid1_ItemDataBound);
this.DataGrid1.SortCommand+=new DataGridSortCommandEventHandler(DataGrid1_SortCommand);
this.DataGrid1.ItemCreated+=new DataGridItemEventHandler(DataGrid1_ItemCreated);
}
/**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregionTop
3 楼abandonship(焚酒煮剑)回复于 2005-11-11 09:51:08 得分 0
GetDataSet#region GetDataSet
private DataSet GetDataSet(string sql)
{
constring=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlDataAdapter sda =new SqlDataAdapter(sql,constring);
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
}
#endregion
DataGrid1_ItemDataBound#region DataGrid1_ItemDataBound
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("ondblclick","alert('"+e.Item.Cells[0].Text+"');");
}
if (e.Item.ItemType!=ListItemType.Header)
{
e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=\""+e.Item.Style["BACKGROUND-COLOR"]+"\"");
e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor=\""+ "#C1D2EE"+"\"");
e.Item.Cells[1].Text=Convert.ToString(e.Item.ItemIndex+1);//产生序号
}
if (e.Item.ItemType==ListItemType.Header)
{
e.Item.Cells[0].ColumnSpan=2;//合并单元格
e.Item.Cells[1].Visible=false;
}
string sqlpovince="select * from povince";
DataSet dspovince=GetDataSet(sqlpovince);
if(e.Item.ItemType==ListItemType.EditItem)
{
DropDownList ddlpovince=(DropDownList)e.Item.FindControl("province");
ddlpovince.DataSource=dspovince;
ddlpovince.DataTextField="province";
ddlpovince.DataValueField="provinceID";
ddlpovince.DataBind();
ddlpovince.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,"provinceID"))).Selected=true;
if(e.Item.ItemType==ListItemType.EditItem)
{
if(ddlpovince.SelectedIndex!=-1)
{
string sqlcity="select * from city where father='"+ddlpovince.SelectedValue+"'";
DropDownList ddlcity=(DropDownList)e.Item.FindControl("city");
DataSet dscity=GetDataSet(sqlcity);
ddlcity.DataSource=dscity;
ddlcity.DataTextField="city";
ddlcity.DataValueField="cityID";
ddlcity.DataBind();
ddlcity.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,"cityID"))).Selected=true;
}
}
}
}
#endregionTop
4 楼q_po_o(两个人)回复于 2005-11-11 09:59:40 得分 0
真全,呵呵Top
5 楼abandonship(焚酒煮剑)回复于 2005-11-11 10:00:21 得分 50
http://blog.csdn.net/abandonship/archive/2005/11.aspxTop
6 楼min_jie(止戈)回复于 2006-01-13 16:10:26 得分 0
markTop




