AspxGridView学习日记--动态添加超链接列
来源:互联网 发布:spine动画导入unity3d 编辑:程序博客网 时间:2024/05/01 12:43
因为刚使用Developer Express .NET 不是很熟悉AspxGridView控件,组长要动态混合生成普通列&超链接列 困扰了我好长时间的问题今天终于解决了 一边看着金山词霸,一边看着国外的网页很吃力不过解决问题的时候很爽。一边想办法一边自己解决 下面是解决方法 希望大家指教
ASPxGridView1.BeginUpdate(); ASPxGridView1.Columns.Clear();//清空列 ASPxGridView1.AutoGenerateColumns = true; ASPxGridView1.DataSourceID = ObjectDataSource2.ID;//获得数据源 ASPxGridView1.DataBind(); //绑定数据 ASPxGridView1.Columns["nodeid"].Visible = false;//nodeid列不显示
int columnCount = ASPxGridView1.Columns.Count;//获取列的数量 ArrayList columnList = new ArrayList(); //生成超链接列的集合 ArrayList columnList1 = new ArrayList();//生成普通列的集合 for (int i = 2; i < columnCount-1; i++)//循环转换超链接列 { GridViewDataHyperLinkColumn resultCol = new GridViewDataHyperLinkColumn(); //NEW ige超链接列 resultCol.Caption = ((GridViewEditDataColumn)ASPxGridView1.Columns[i]).FieldName; //列标题 resultCol.FieldName = ((GridViewEditDataColumn)ASPxGridView1.Columns[i]).FieldName; object[] args = new object[] { ((GridViewEditDataColumn)ASPxGridView1.Columns[i]).FieldName,DropDownList1.SelectedIndex }; //resultCol.PropertiesHyperLinkEdit.NullDisplayText = "1123"; resultCol.PropertiesHyperLinkEdit.NavigateUrlFormatString = string.Format("javascript:OnClick=OnMoreInfoClick(this,'{0}',{1})",args);//生成超链接 columnList.Add(resultCol);//添加到集合内 } //保存 普通列 columnList1.Add(ASPxGridView1.Columns[1]); columnList1.Add(ASPxGridView1.Columns[ASPxGridView1.Columns.Count - 1]);
ASPxGridView1.AutoGenerateColumns = false;
//for (int x = columnCount - 1; x > 1; x--) //{ // ASPxGridView1.Columns.Remove(ASPxGridView1.Columns[x]); //} //清空所有列 ASPxGridView1.Columns.Clear(); //添加 关别列 ASPxGridView1.Columns.Add((GridViewColumn)columnList1[0]);
//添加 超链接列 for (int j = 0; j < columnList.Count; j++) { ASPxGridView1.Columns.Add((GridViewDataHyperLinkColumn)columnList[j]); } //ASPxGridView1.EndUpdate(); //ASPxGridView1.BeginUpdate(); //添加 汇总列 ASPxGridView1.Columns.Add((GridViewEditDataColumn)columnList1[1]); //ASPxGridView1.DataBind(); ASPxGridView1.EndUpdate(); }
有一个问题 不知道为什么 混合生成列的时候 普通的文本列总是全部到前面去 而超链接列总是到后面 如果有知道的请回复在下感激不尽
PS 下面的是DX官方给的解决方案
protected void ASPxGridView1_Init(Object sender, EventArgs e)
{
GridViewDataHyperLinkColumn colLink = new GridViewDataHyperLinkColumn();
colLink.Caption = "Edition";
colLink.FieldName = "Id"; //Column parameter, "Id" is URL link ("<a href="3">Edit</a> ")
colLink.PropertiesHyperLinkEdit.Text = "Edit"; // Display text
colLink.PropertiesHyperLinkEdit.TextField = "Content"; //Display content of column "Content", alternative to PropertiesHyperLinkEdit.Text
colLink.PropertiesHyperLinkEdit.ImageUrl = "~/images/edit.gif"; //Display image, alternative to PropertiesHyperLinkEdit.Text
colLink.PropertiesHyperLinkEdit.NavigateUrlFormatString = "/Default.aspx?={0}"); //The URL is replaced {0} to "Id" to especific Row ("/Default.aspx?=3")
colLink.Visible = true;
colLink.Width = 50;
ASPxGridView1.Columns.Add(colLink); //Add column to ASPxGrid
}
- AspxGridView学习日记--动态添加超链接列
- AspxGridView学习日记--动态添加超链接列
- aspxgridview 添加列
- ASPxGridView:添加一个非绑定列
- DevExpress ASPxGridView动态添加一列按钮
- DevExpress学习之ASPxGridView后台增加列
- DevExpress学习之ASPxGridView后台增加列
- 【项目实战】---为EasyUI DataGrid的某一动态加载数据列添加超链接,点击超链接触发Onclick方法
- 项目中学习---动态添加列
- ASPxGridView控件常用示例一:添加一个非绑定列
- Dev 之ASPxGridView后台动态创建超链接以及读取动态字段
- jqgrid 给某一列添加超链接
- jquery jqGrid colModel 某一列添加超链接
- datagrid动态添加列
- 动态添加table列
- datagrid 动态添加列
- GridView 动态添加列
- gridview动态添加列
- 建立一支世界级的开发团队就像是建立一支好的球队 - 每个人在自己的位置上都是最棒的
- php ajax 分页--utf-8
- 很简单的生成静态页面
- 精通top,ps命令
- 关于在Eclipse中启动Weblogic服务器时出现Parsing Failure in config.xml问题解决方法
- AspxGridView学习日记--动态添加超链接列
- JSP内置对象讲解
- select挡住div的5种解决方法
- 工作流管理系统体系结构设计
- ACCESS数据库添加到C#工程中,原来是将它复制到输出目录
- 验证电话号码和手机号码
- aspxpopupcontrol学习日记--弹出窗口
- 使用 screen 管理你的远程会话
- 工作流管理技术介绍