grid web_DataGrid

grid web_DataGrid首先安装Infragistics.NetAdvantage.for.ASP.NET.2007.Vol.2,然后在选择项中添加UltraWebGrid,使用方法如下:1、添加“总计”值绑定完数据后,添加如下代码UltraWebGrid1.Rows.Add();UltraWebGrid1.Rows.Add();…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
首先安装Infragistics.NetAdvantage.for.ASP.NET.2007.Vol.2,然后在选择项中添加UltraWebGrid,使用方法如下:

1、添加“总计”值

绑定完数据后,添加如下代码

UltraWebGrid1.Rows.Add();

UltraWebGrid1.Rows.Add();

UltraWebGrid1.Rows[UltraWebGrid1.Rows.Count – 1].Cells[0].Text = “小计”; //倒数第一行

UltraWebGrid1.Rows[UltraWebGrid1.Rows.Count – 2].Cells[0].Text = “总计”;

double sum = 0;

string strtemp = string.Empty;

for (int i = 0; i < UltraWebGrid1.Rows.Count – 1; i++)

{

if (UltraWebGrid1.Rows[i].Cells[2].Value != null)

{

strtemp = UltraWebGrid1.Rows[i].Cells[2].Value.ToString();

sum += Convert.ToDouble(strtemp);

}

}

UltraWebGrid1.Rows[UltraWebGrid1.Rows.Count – 1].Cells[2].Value = sum;

2、单击单元格选中行

(1) 选择UltraWebGrid-displayout–>CellClickActionDefault=RowSelected

(2) 选择UltraWebGrid—displayout–>SelectedRowStyleDefault的BackColor属性,设置颜色。

3、显示自动列号

RowSelectorsDefault=”Yes” AllowRowNumberingDefault=”ByDataIsland”

4、隐藏一列

UltraWebGrid1.Columns[i].Hidden=true;

5、添加模板列

(即在绑定数据外,添加的列):先选择UltraWebGrid –属性–columns–勾选Templated column 即可。

6、增加Checkbox

第一种方法:在表格的InitializeRow事件中添加如下代码

if (e.Row.Band.Index == 0)

{

string str = string.Empty;

str = “<input id=’chk” + e.Row.Index + “‘ type=’checkbox’ name=’chkName” + e.Row.Index + ” ‘ />”;

e.Row.Cells[0].Text = str;

}

第二种方法:

绑定数据后,添加

GridTake.Columns[0].Type = ColumnType.CheckBox; //设定第0列的数据类型

GridTake.Columns[0].AllowUpdate = AllowUpdate.Yes;//设置checkbox是否可用。

GridTake.Columns.FromKey(“CHK”).Type= ColumnType.CheckBox;

GridTake.Columns.FromKey(“CHK”).AllowUpdate = AllowUpdate.Yes;

for (int i = 0; i < GridTake.Rows.Count; i++)

{

GridTake.Rows[i].Cells[0].Value = false; //初始化checkbox

}

//全选checkbox

protected void cbCheckAll_CheckedChanged(object sender, EventArgs e)

{

if (cbCheckAll.Checked)

{

for (int i = 0; i < GridTake.Rows.Count; i++)

{

GridTake.Rows[i].Cells[0].Value = true;

}

}

else

{

for (int i = 0; i < GridTake.Rows.Count; i++)

{

GridTake.Rows[i].Cells[0].Value = false;

}

}

//批量删除数据

if (GridTake.DisplayLayout.SelectedRows.Count < 1)

{

Response.Write(“<script language=’javascript’>alert(‘请选择要删除的行’);</script>”);

return;

}

for (int i = 0; i < GridTake.Rows.Count; i++)

{

if (GridTake.Rows[i].Cells[0].Value.ToString()==”true”)

{

try

{

string sql = “delete from test5 where wno='” + GridTake.Rows[i].Cells[2].Value.ToString() +”‘”;

OracleHelper.ExecuteSql(sql);

}

catch (Exception ex)

{

Response.Write(“<script language=’javascript’>alert(‘” + ex.Message + “‘)</script>”);

}

}

}

//GridTake.Rows.Remove(GridTake.DisplayLayout.SelectedRows[0]);

Response.Write(“<script language=’javascript’>alert(‘删除成功!’);</script>”);

GridDataBind();

删除数据

if (GridTake.DisplayLayout.SelectedRows.Count < 1)

{

Response.Write(“<script language=’javascript’>alert(‘请选择要删除的行’);</script>”);

return;

}

try

{

string sql = “delete from employees where id='” + GridTake.DisplayLayout.SelectedRows[0].Cells[0].Text + “‘”;

SqlConnection conn = new SqlConnection(connstr);

SqlCommand cmd = conn.CreateCommand();

cmd.CommandType = CommandType.Text;

cmd.CommandText = sql;

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

GridTake.Rows.Remove(GridTake.DisplayLayout.SelectedRows[0]);

}

catch (Exception ex)

{

Response.Write(“<script language=’javascript’>alert(‘” + ex.Message + “‘)</script>”);

}

Response.Write(“<script language=’javascript’>alert(‘数据删除成功!’);</script>”);

WebGrid中Checkbox的全部选择和取消全部选择

protected void cbCheckAll_CheckedChanged(object sender, EventArgs e)

{

if (cbCheckAll.Checked)

{

for (int i = 0; i < GridTake.Rows.Count; i++)

{

GridTake.Rows[i].Cells[0].Value = true;

}

}

else

{

for (int i = 0; i < GridTake.Rows.Count; i++)

{

GridTake.Rows[i].Cells[0].Value = false;

}

}

}

WebGrid的固定列功能

具体步骤:

(1) 在UltraWebGrid下的DisplayLayout中把TableLayout属性设为:Fixed ; UseFixedHeaders设为:True

//这是指定Grid允许固定列 StationaryMargins=”Header” //这使Header始终在最上面显示

(2) 设定列固定: Header下面的Fixed设置为true。这样就可以实现ID固定了,还有一个功能就是,点击后面的任何一个列后的“图钉”图标,就可以任意进行多列固定了。如下图为我点击了“ContactName”的效果:这种功能的实现,只要修改一个属性:FixedHeaderIndicatorDefault=”Button”就可以了。

中文标题,在绑定数据后,增加

Private void SetGridHeader()

{

//DisplayLayout—view type可调节显示的模式 Flat,Hierarchical, OutlookGroupBy

UltraWebGrid1.Bands[0].Columns[0].Header.Caption = “序号”;

UltraWebGrid1.Bands[0].Columns[1].Header.Caption = “产品号”;

//调节表格除标题以外的表格元素的排列方式

this.UltraWebGrid1.Bands[0].Columns[0].CellStyle.HorizontalAlign = HorizontalAlign.Center;

this.UltraWebGrid1.Bands[0].Columns[1].CellStyle.HorizontalAlign = HorizontalAlign.Left;

//设定表格列的宽度,其中2代表2%,如果是30,代表30%

this.UltraWebGrid1.Bands[0].Columns[0].Width = Unit.Percentage(2);

}

//设定表格的纵向,相同值单元格的合并

//表格中,行rows是从0开始排的,列 cells也是从0开始排的。

//MergerRow代表行,MergerRow = 0代表表格的第一行

//cells[2]代表第三列,意思是我要将第三列有相同数值的单元格合并。

//这个东东放在绑定数据的后面

int MergerRange = 1;

int MergerRow = 0;

for (int irow = 1; irow < gridTake.Rows.Count; irow++)

{

if (gridTake.Rows[MergerRow].Cells[2].Text == gridTake.Rows[irow].Cells[2].Text)

{

MergerRange++; //MergerRange代表要合并的单元数量。

}

else

{

gridTake.Rows[MergerRow].Cells[2].RowSpan = MergerRange;

MergerRow = irow;

MergerRange = 1;

}

if (irow == gridTake.Rows.Count – 1)

{

gridTake.Rows[MergerRow].Cells[2].RowSpan = MergerRange;

}

}

表格中超级链接的设定:

//rowloop控制表格中行的移动

//Cells[0]表示第一列的各项要设置超链接。

//facxTC.aspx链接的文件

for (int rowLoop = 0; rowLoop < QryWebGrid.Rows.Count; rowLoop++)

{

if (QryWebGrid.Rows[rowLoop].Cells[0].Text != “”)

{

QryWebGrid.Rows[rowLoop].Cells[0].Text = “<a style=’cursor:hand’ οnclick=\”window.open(‘FacxTC.aspx?DetailItemNo=” + QryWebGrid.Rows[rowLoop].Cells[1].Text

+ “&No=3”

+ “‘,null,’height=910px,width=1000px,top=50, left=100, toolbar=no, menubar=no, scrollbars=no, resizable=yes,location=no, status=no’) ; \”><u>”

+ QryWebGrid.Rows[rowLoop].Cells[0].Text + “</u></a>”;

}

}

//修改表格数据时,将选择的表格数据显示在文本框或其他控件中

private void GridToText()

{

txtUserName.Text = GridTake.DisplayLayout.ActiveRow.Cells[1].ToString();

txtUserPass.Text = GridTake.DisplayLayout.ActiveRow.Cells[2].ToString();

rdoSex.SelectedValue = GridTake.DisplayLayout.ActiveRow.Cells[3].ToString();

}

//文本框的值传到表格上

private void InsertGrid()

{

GridTake.Rows.Add();

int rownum = GridTake.Rows.Count-1;

GridTake.Rows[rownum].Cells[0].Value = TextBox1.Text;

GridTake.Rows[rownum].Cells[1].Value = TextBox1.Text;

GridTake.Rows[rownum].Cells[2].Value = TextBox1.Text;

}

//Webgrid添加checkbox批量删除

设置UltraWebGrid的第0列为模板列(UltraWebGrid –属性–columns–勾选Templated column 即可),加入CheckBox控件(Behavior–type下选择Checkbox),判断其状态是否被选中,代码如下

//可以写在任何地方,属于通用代码

Infragistics.WebUI.UltraWebGrid.TemplatedColumn tcol = (TemplatedColumn)UltraWebGrid1.Bands[0].Columns[0];//模板列

foreach(CellItem item in tcol.CellItems)

{

System.Web.UI.WebControls.CheckBox chkIsHaveRight = (System.Web.UI.WebControls.CheckBox)item.FindControl(“chbShenhe”);

if(chkIsHaveRight.Checked == true)

{

//进行相关的操作

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185401.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据挖掘在电子商务中的应用

    数据挖掘在电子商务中的应用如何对大量信息进行有效组织利用,使用户能够从大量繁杂的信息中找出真正有价值的信息和知识,帮助企业制定更好的营销策略。信息处理技术有了新的应用研究课题——数据挖掘。 1.数据挖掘在电子商务中的作用  数据挖掘技术之所以可以服务电子商务,是因为它能够挖掘出活动过程中的潜在信息以指导电子商务营销活动。在电子商务中其作用有4个方面:  (1)挖掘客户活动规律,针对性的在电子商务平台下以提供…

    2022年6月20日
    29
  • Java集合汇总篇「建议收藏」

    Java集合汇总篇「建议收藏」一.集合框架Java集合框架一些列的接口和类来实现很多常见的数据结构和算法,例如LinkedList就是集合框架提供的实现了双向链表的数据结构,关于这一篇文章建议大家收藏,我会不断地完善和扩充它的内容,例如最下面的系列文章我以后也会对它进行不断的更新集合框架的接口集合框架提供了很多接口,这些接口都包含了特定的方法来实现对集合上的特定操作)我们将要学习这些接口以及子接口和它们的各种实现类,在开始之前我们先简单学习一下这些广泛运用的接口,可以看到整个集合框架,总共有三个顶级接口Collecti

    2022年7月16日
    16
  • Java基础之—反射(非常重要)

    Java基础之—反射(非常重要)反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的

    2022年4月30日
    58
  • js 根据内容 生成二维码_html怎么生成二维码

    js 根据内容 生成二维码_html怎么生成二维码js生成二维码以及插入图片先根据qrcode官网demo,不同属性值的变化,二维码的变化效果:https://larsjung.de/jquery-qrcode/latest/demo/进入demo中,审查元素查看里面引用的js文件,你会发现jquery-qrcode-0.14.0.js,这个版本支持二维码中插入图片。下面是我写的一个列子:引用js:&lt;scripttype="text/ja…

    2022年10月17日
    3
  • AutoEventWireup指令分析

    AutoEventWireup指令分析指令:指定当页和用户控件编译器处理ASP.NETWeb窗体页(.aspx)和用户控件(.ascx)文件时所使用的设置。在编译时发生作用,有些是如在asp.net2.0中将 后产生       protectedoverrideboolSupportAutoEvents{           get{               returnfalse; 

    2022年5月8日
    56
  • CSS的四种基本选择器和四种高级选择器[通俗易懂]

    CSS的四种基本选择器和四种高级选择器[通俗易懂]CSS选择器:就是指定CSS要作用的标签,那个标签的名称就是选择器。意为:选择哪个容器。CSS的选择器分为两大类:基本选择题和扩展选择器。基本选择器:标签选择器:针对一类标签 ID选择器:针对某一个特定的标签使用 类选择器:针对你想要的所有标签使用 通用选择器(通配符):针对所有的标签都适用(不建议使用)下面来分别讲一讲。1、标签选择器:选择器的名字代表html页面上的标签…

    2022年7月27日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号