解决方案 »
- Validation of viewstate MAC failed.
- 在服务器上发布网站,浏览时'您输入的网址(pinggu.my-house.cc)无法访问'
- 如何设定SESSION 周期?
- 请教 如何控制IE打印效果?
- 关于 RequiredFieldValidator 验证控件的疑问
- .net中默认字符串都会已utf-8保存,我如何把utf-8转换成GB2312编码
- jQuery加载load()方法遇到的问题
- 急!!!!请问思归大哥,及各位高手,如何获得asp.net中当前连接池中连接数?
- 论坛的密码怎么改?
- VS.net的帮助文件可以单独安装的吗??
- Server.Transfer 如何使用?
- 在服务器端有什么方法可以判断客户端的浏览器是否禁用了JavaScript?
CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="ADDR" HeaderText="ADDR" SortExpression="ADDR" />
<asp:BoundField DataField="STNM" HeaderText="STNM" SortExpression="STNM" />
<asp:BoundField DataField="ZI" HeaderText="ZI" SortExpression="ZI" />
</Columns>
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:DataGrid>后台代码: DAL.DALDB aa = new DAL.DALDB();
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
if (this.kjkm_dg.Attributes["SortExpression"] == null) //这里kjkm_dg为datagrid ID
{
this.kjkm_dg.Attributes["SortExpression"] = "addr"; //这里给datagrid增加一个排序属性,且默认排序表达式为kmdm;
kjkm_dg.Attributes["SortDirection"] = "ASC"; //这里给datagrid增加一个排序方向属性,且默认为升序排列;
}
mikecatbind(); //绑定函数,下面介绍
}
} protected void mikecatbind()
{
string sqlStr = "select distinct b.addr,b.stnm,a.zi from st_rsvr_r as a,st_stinfo_b_other as b where RTRIM(a.stcdt)+convert(varchar(19),a.ymdhm,121) in (select RTRIM(c.stcdt)+convert(varchar(19),max(c.ymdhm),121) from st_rsvr_r c group by stcdt)and a.stcdt = b.stcdt"; DataView dv = new DataView(); string SortExpression = kjkm_dg.Attributes["SortExpression"];
string SortDirection = kjkm_dg.Attributes["SortDirection"];
dv = aa.ExecuteDataSet(sqlStr).Tables[0].DefaultView; //来自web service的dataset,这里随便一个ds就可以;
dv.Sort = SortExpression + " " + SortDirection; //指定视图的排序方式;
kjkm_dg.DataSource = dv; //指定数据源
kjkm_dg.DataBind(); //数据绑定
}
protected void kjkm_dg_SortCommand(object source, DataGridSortCommandEventArgs e)
{
string SortExpression = e.SortExpression.ToString(); //获得当前排序表达式
string SortDirection = "ASC"; //为排序方向变量赋初值
if (SortExpression == kjkm_dg.Attributes["SortExpression"]) //如果为当前排序列
{
SortDirection = (kjkm_dg.Attributes["SortDirection"].ToString() == SortDirection ? "DESC" : "ASC"); //获得下一次的排序状态
}
kjkm_dg.Attributes["SortExpression"] = SortExpression;
kjkm_dg.Attributes["SortDirection"] = SortDirection;
mikecatbind();
}
<Columns>
<asp:BoundField DataField="id" HeaderText="代码" SortExpression="id"/>
<asp:BoundField DataField="name" HeaderText="名称" SortExpression="name"/>
<asp:TemplateField SortExpression="BUID" HeaderText="BUID">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text=' <%# Bind("ID") %>' ToolTip=' <%# DataBinder.Eval(Container.DataItem, "ID") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView> protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
ViewState["SortOrder"] = "deptid";
ViewState["OrderDire"] = "asc";
BindGridView();
}
} protected void BindGridView()
{
DataSet ds = new DataSet();
DataView dv = ds.Tables[0].DefaultView;
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
dv.Sort = sort;
this.GridView1.DataSource = dv; this.GridView1.DataBind(); }
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string vortExp = e.SortExpression;
if (ViewState["SortOrder"].ToString() == vortExp)
{
if ((string)ViewState["OrderDire"] == "desc")
{
ViewState["OrderDire"] = "asc";
}
else if ((string)ViewState["OrderDire"] == "asc")
{
ViewState["OrderDire"] = "desc";
}
}
else
{
ViewState["SortOrder"] = e.SortExpression;
}
BindGridView(); }
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView1.PageIndex = e.NewPageIndex;
BindGridView();
} 可直接在dv.Sort中排序再绑定到gridvew
DataTable不能排序,要用DataView,然后再转为DataTable
{
bingGridview();
}
private void bingGridview()
{
DataSet dt_Data = SqlHelper.GetDataSetWithSql(SqlHelper.ConnString, "select DataMaker,ProSortId,PipeLength from tb_A where DataMaker!='' order by DataMaker,ProSortId");
DataTable dt_DataOrder = new DataTable();
dt_DataOrder.Columns.Add("制作人", typeof(string));
dt_DataOrder.Columns.Add("调压站",typeof(string));
dt_DataOrder.Columns.Add("工业户", typeof(string));
dt_DataOrder.Columns.Add("市街", typeof(string));
dt_DataOrder.Columns.Add("庭院", typeof(string));
dt_DataOrder.Columns.Add("总计", typeof(string));
......
代码
......
dt_DataOrder.Rows.Add(newRowSum);
GridView1.DataSource = dt_DataOrder;
GridView1.DataBind();
}
protected void asce_Click(object sender, EventArgs e)
{
}
protected void desc_Click(object sender, EventArgs e)
{ }