/// <summary>
/// 处理排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Sort_Grid(Object sender, GridViewSortEventArgs e)
{
userGridView mygrid = (userGridView)sender;
SortExpression = e.SortExpression.ToString();
Session["SortField"] = SortExpression.Trim();
if (Session["Order"] == null) Session["Order"] = "ASC";
Session["Order"] = (Session["Order"].ToString() == "DESC") ? "ASC" : "DESC";
if (Session["SortField"] == null) Session["SortField"] = "num";
sql1 = sql1 + mygrid.tablename;
sql1 += " ORDER BY " + Session["SortField"].ToString() + " " + Session["Order"].ToString();
mygrid.DataSource = CreateDataSource(sql1);
mygrid.DataBind();
} /// <summary>
/// 处理编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Edit_Grid(object sender, GridViewEditEventArgs e)
{
userGridView mygrid = (userGridView)sender;
mygrid.EditIndex = e.NewEditIndex;
mygrid.DataSource = CreateDataSource(sql1);
mygrid.DataBind();
} /// <summary>
/// 处理分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Page_Grid(object sender, GridViewPageEventArgs e)
{
userGridView mygrid = (userGridView)sender;
mygrid.PageIndex = e.NewPageIndex;
mygrid.DataSource = CreateDataSource(sql1);
mygrid.DataBind();
}
/// <summary>
/// 创建和设置DataGrid属性,这里的属性设置为固定值,但也可以动态设置
/// </summary>
/// <returns></returns> public void MakeGrid(ref userGridView mygrid)
{ mygrid.EnableViewState = true;
mygrid.UseAccessibleHeader = true;
mygrid.PageIndex = 0;
mygrid.PagerSettings.FirstPageText = "⁢⁢";
mygrid.PagerSettings.LastPageText = ">>";
mygrid.PagerSettings.Mode = PagerButtons.NumericFirstLast;
mygrid.PagerSettings.NextPageText = ">";
mygrid.PagerSettings.PageButtonCount = 10;
mygrid.PagerSettings.Position = PagerPosition.Bottom;
mygrid.PagerSettings.PreviousPageText = "⁢";
mygrid.PagerSettings.Visible = true;
mygrid.PageSize = 10;
mygrid.EditIndex = -1;
mygrid.TabIndex = 0;
mygrid.Enabled = true;
mygrid.EnableSortingAndPagingCallbacks = false;
mygrid.EnableTheming = true;
mygrid.EnableViewState = true;
mygrid.SelectedIndex = -1;
mygrid.AllowPaging = true;
mygrid.AllowSorting = true;
mygrid.CellPadding = 3;
string[] tempstring = new string[1];
tempstring[0] = "inst_id";
mygrid.DataKeyNames = tempstring;
mygrid.AutoGenerateColumns = false;
mygrid.BackColor = Color.White;
mygrid.BorderColor = Color.AliceBlue;
mygrid.BorderStyle = BorderStyle.None;
mygrid.BorderWidth = Unit.Pixel(1);
mygrid.FooterStyle.BackColor = Color.FromName("White");
mygrid.FooterStyle.ForeColor = ColorTranslator.FromHtml("#000066");
mygrid.RowStyle.ForeColor = ColorTranslator.FromHtml("#000066");
mygrid.SelectedRowStyle.BackColor = ColorTranslator.FromHtml("#669999");
mygrid.SelectedRowStyle.Font.Bold = true;
mygrid.SelectedRowStyle.ForeColor = ColorTranslator.FromHtml("White");
mygrid.PagerStyle.BackColor = ColorTranslator.FromHtml("White");
mygrid.PagerStyle.ForeColor = ColorTranslator.FromHtml("#000066");
mygrid.HorizontalAlign = HorizontalAlign.Left;
mygrid.HeaderStyle.BackColor = ColorTranslator.FromHtml("#006699");
mygrid.HeaderStyle.Font.Bold = true;
mygrid.HeaderStyle.ForeColor = ColorTranslator.FromHtml("White");
///事件处理器
mygrid.Sorting += new GridViewSortEventHandler(Sort_Grid);
mygrid.RowEditing += new GridViewEditEventHandler(Edit_Grid);
mygrid.PageIndexChanging += new GridViewPageEventHandler(Page_Grid); ///设置alternating style
mygrid.AlternatingRowStyle.BackColor = ColorTranslator.FromHtml("Silver");
mygrid.AlternatingRowStyle.ForeColor = ColorTranslator.FromHtml("Black"); ///设置itemstyle
mygrid.RowStyle.HorizontalAlign = HorizontalAlign.Left; ///创建绑定列和属性 BoundField num = new BoundField();
BoundField InstId = new BoundField();
BoundField Something = new BoundField();
InstId.HeaderText = "inst_id";
InstId.DataField = "inst_id";
InstId.SortExpression = "inst_id"; num.HeaderText = "序号";
num.DataField = "xh";
num.SortExpression = "xh"; Something.HeaderText = "事由";
Something.DataField = "sy";
Something.SortExpression = "sy";
mygrid.Columns.Add(num);
mygrid.Columns.Add(InstId);
mygrid.Columns.Add(Something); ColumnTemplate mycol = new ColumnTemplate();
//mycol.num = System.Convert.ToString(mygrid.PageIndex * mygrid.PageSize + mygrid.Rows.Count + 1);
///设置模板列属性和ItemStyle模板
TemplateField customField = new TemplateField();
customField.ShowHeader = false;
customField.HeaderStyle.Width = Unit.Pixel(40);
customField.HeaderText = "操作";
customField.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
///创建列模板。
///列模板从ITemplate继承
customField.ItemTemplate = mycol;
mygrid.Columns.Add(customField); ///绑定和返回
mygrid.DataSource = CreateDataSource(sql1+mygrid.tablename);
mygrid.DataBind();
} } /// ColumnTemplate 从ITemplate继承。
/// "InstantiateIn"定义子控件的属于谁 public class ColumnTemplate : ITemplate
{
public string num;
public void InstantiateIn(Control container)
{
LinkButton editor = new LinkButton();
editor.Text = "编辑"+num;
editor.CausesValidation = false;
editor.CommandName = "Edit";
container.Controls.Add(editor);
}
}
/// 处理排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Sort_Grid(Object sender, GridViewSortEventArgs e)
{
userGridView mygrid = (userGridView)sender;
SortExpression = e.SortExpression.ToString();
Session["SortField"] = SortExpression.Trim();
if (Session["Order"] == null) Session["Order"] = "ASC";
Session["Order"] = (Session["Order"].ToString() == "DESC") ? "ASC" : "DESC";
if (Session["SortField"] == null) Session["SortField"] = "num";
sql1 = sql1 + mygrid.tablename;
sql1 += " ORDER BY " + Session["SortField"].ToString() + " " + Session["Order"].ToString();
mygrid.DataSource = CreateDataSource(sql1);
mygrid.DataBind();
} /// <summary>
/// 处理编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Edit_Grid(object sender, GridViewEditEventArgs e)
{
userGridView mygrid = (userGridView)sender;
mygrid.EditIndex = e.NewEditIndex;
mygrid.DataSource = CreateDataSource(sql1);
mygrid.DataBind();
} /// <summary>
/// 处理分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Page_Grid(object sender, GridViewPageEventArgs e)
{
userGridView mygrid = (userGridView)sender;
mygrid.PageIndex = e.NewPageIndex;
mygrid.DataSource = CreateDataSource(sql1);
mygrid.DataBind();
}
/// <summary>
/// 创建和设置DataGrid属性,这里的属性设置为固定值,但也可以动态设置
/// </summary>
/// <returns></returns> public void MakeGrid(ref userGridView mygrid)
{ mygrid.EnableViewState = true;
mygrid.UseAccessibleHeader = true;
mygrid.PageIndex = 0;
mygrid.PagerSettings.FirstPageText = "⁢⁢";
mygrid.PagerSettings.LastPageText = ">>";
mygrid.PagerSettings.Mode = PagerButtons.NumericFirstLast;
mygrid.PagerSettings.NextPageText = ">";
mygrid.PagerSettings.PageButtonCount = 10;
mygrid.PagerSettings.Position = PagerPosition.Bottom;
mygrid.PagerSettings.PreviousPageText = "⁢";
mygrid.PagerSettings.Visible = true;
mygrid.PageSize = 10;
mygrid.EditIndex = -1;
mygrid.TabIndex = 0;
mygrid.Enabled = true;
mygrid.EnableSortingAndPagingCallbacks = false;
mygrid.EnableTheming = true;
mygrid.EnableViewState = true;
mygrid.SelectedIndex = -1;
mygrid.AllowPaging = true;
mygrid.AllowSorting = true;
mygrid.CellPadding = 3;
string[] tempstring = new string[1];
tempstring[0] = "inst_id";
mygrid.DataKeyNames = tempstring;
mygrid.AutoGenerateColumns = false;
mygrid.BackColor = Color.White;
mygrid.BorderColor = Color.AliceBlue;
mygrid.BorderStyle = BorderStyle.None;
mygrid.BorderWidth = Unit.Pixel(1);
mygrid.FooterStyle.BackColor = Color.FromName("White");
mygrid.FooterStyle.ForeColor = ColorTranslator.FromHtml("#000066");
mygrid.RowStyle.ForeColor = ColorTranslator.FromHtml("#000066");
mygrid.SelectedRowStyle.BackColor = ColorTranslator.FromHtml("#669999");
mygrid.SelectedRowStyle.Font.Bold = true;
mygrid.SelectedRowStyle.ForeColor = ColorTranslator.FromHtml("White");
mygrid.PagerStyle.BackColor = ColorTranslator.FromHtml("White");
mygrid.PagerStyle.ForeColor = ColorTranslator.FromHtml("#000066");
mygrid.HorizontalAlign = HorizontalAlign.Left;
mygrid.HeaderStyle.BackColor = ColorTranslator.FromHtml("#006699");
mygrid.HeaderStyle.Font.Bold = true;
mygrid.HeaderStyle.ForeColor = ColorTranslator.FromHtml("White");
///事件处理器
mygrid.Sorting += new GridViewSortEventHandler(Sort_Grid);
mygrid.RowEditing += new GridViewEditEventHandler(Edit_Grid);
mygrid.PageIndexChanging += new GridViewPageEventHandler(Page_Grid); ///设置alternating style
mygrid.AlternatingRowStyle.BackColor = ColorTranslator.FromHtml("Silver");
mygrid.AlternatingRowStyle.ForeColor = ColorTranslator.FromHtml("Black"); ///设置itemstyle
mygrid.RowStyle.HorizontalAlign = HorizontalAlign.Left; ///创建绑定列和属性 BoundField num = new BoundField();
BoundField InstId = new BoundField();
BoundField Something = new BoundField();
InstId.HeaderText = "inst_id";
InstId.DataField = "inst_id";
InstId.SortExpression = "inst_id"; num.HeaderText = "序号";
num.DataField = "xh";
num.SortExpression = "xh"; Something.HeaderText = "事由";
Something.DataField = "sy";
Something.SortExpression = "sy";
mygrid.Columns.Add(num);
mygrid.Columns.Add(InstId);
mygrid.Columns.Add(Something); ColumnTemplate mycol = new ColumnTemplate();
//mycol.num = System.Convert.ToString(mygrid.PageIndex * mygrid.PageSize + mygrid.Rows.Count + 1);
///设置模板列属性和ItemStyle模板
TemplateField customField = new TemplateField();
customField.ShowHeader = false;
customField.HeaderStyle.Width = Unit.Pixel(40);
customField.HeaderText = "操作";
customField.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
///创建列模板。
///列模板从ITemplate继承
customField.ItemTemplate = mycol;
mygrid.Columns.Add(customField); ///绑定和返回
mygrid.DataSource = CreateDataSource(sql1+mygrid.tablename);
mygrid.DataBind();
} } /// ColumnTemplate 从ITemplate继承。
/// "InstantiateIn"定义子控件的属于谁 public class ColumnTemplate : ITemplate
{
public string num;
public void InstantiateIn(Control container)
{
LinkButton editor = new LinkButton();
editor.Text = "编辑"+num;
editor.CausesValidation = false;
editor.CommandName = "Edit";
container.Controls.Add(editor);
}
}
解决方案 »
- 无法解决 equal to 操作中 "Chinese_PRC_Stroke_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突
- 关于.net mvc 问题
- 请问开发环境该用什么操作系统?
- menu控件问题,急!!!!!
- <急>在动态LinkButton1_Click中怎么判断啊!~
- 建立的asp.net工程项目,为什么到另一台机子上打开重新编译一次出错?
- 升级sharepoint 2003到2007 失败
- 救救我,datalist的问题
- 各类控件的键盘响应事件
- 请问repeater rangevalidator
- 请教:如何在客户端上查找文件并删掉?
- 横线在textbox里面怎么打?需要倒入到word中
/// userGridView 的摘要说明
/// </summary>
public class userGridView:GridView
{
public string table;
public string tablename;
public userGridView()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}
MakeGrid(ref tm);
CreateDataGridForm.Controls.Add(tm);
位置颠倒填写以后分页问题就解决了,不过在生成的页面上点击排序码或者页码GV就消失了
但是更新的时候始终无法触发RowUpdating 点击更新按钮也不报错 我看了下源代码 js里面_dopostback第二个参数是空的 不知道怎么回事