[转载]对于WebGrid第三方控件的使用「建议收藏」

[转载]对于WebGrid第三方控件的使用「建议收藏」[转载]对于WebGrid第三方控件的使用最近碰到关于WebGrid第三方控件的使用,查了一下资料不是很多,找到一篇较好博客,拿出来分享!博客文章:WebGrid的用法原文链接:http://ding20688.iteye.com/blog/1136582原文如下:首先安装Infragistics.NetAdvantage.for.ASP…

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

Jetbrains全系列IDE稳定放心使用

[转载]对于WebGrid第三方控件的使用

最近碰到关于WebGrid第三方控件的使用,查了一下资料不是很多,找到一篇较好博客,拿出来分享!

博客文章WebGrid的用法

原文链接http://ding20688.iteye.com/blog/1136582

原文如下

首先安装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)  

           {  

                  //进行相关的操作 

            } 

本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/SanMaoSpace/archive/2012/08/17/2644409.html,如需转载请自行联系原作者

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

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

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


相关推荐

  • UDP协议支持广播发送数据_tcp协议建立连接的过程

    UDP协议支持广播发送数据_tcp协议建立连接的过程UDP(用户数据报协议)是OSI(OpenSystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。目录什么是UDP协议?UDP协议数据传输原理DatagramPacket类DatagramSocket类UDP协议网络通信客户端服务器程序服务器端程序客户端程序Hello!大家好!我是灰小猿。之前和大家分享了使用TCP协议进行网络通信的过程,想了解的小伙伴可以看我的这篇文章《Java利.

    2022年5月3日
    76
  • MySQL使用问题_mysql的使用

    MySQL使用问题_mysql的使用MySQL常见的性能瓶颈一般都是出现在CPU和I/O上,即在数据装入内存中或磁盘上读取数据时,CPU发生了饱和或装入数据过大,内存容量不足,磁盘I/O性能被限制。这时候就要使用到Explain关键字来进行分析和调优。 基本使用 Explain关键字可以用来模拟优化器执行SQL查询语句,从而了解SQL语句的处理方式,来达到分析查询语句或表结构的性能瓶颈。通过Explain可以获得表…

    2022年10月17日
    3
  • MLP综述

    MLP综述MLP整体思路反向传播算法梯度下降算法

    2022年6月17日
    23
  • tkmapper教程_tkr和tka的区别

    tkmapper教程_tkr和tka的区别tkMapper入门1、tkMapper介绍1.1SpringBoot整合MyBatis以及tkMapper1.2在启动类上修改注解`@MapperScan`2、tkMapper的使用2.1创建数据表2.2创建实体类2.3创建Mapper接口2.4测试3、tkMapper的常用方法3.1类别实体类3.2类别接口增加修改删除查询查询所有根据主键查询条件查询分页查询带条件的分页查询关联查询1、通过多个单表操作实现2、自定义连接查询2.1、在DAO接口自定义方法2.2、创建Mapper文件1、

    2022年10月7日
    3
  • java中getclassloader,ClassLoader getClassLoader()

    java中getclassloader,ClassLoader getClassLoader()ClassLoadergetClassLoader()描述(Description)java.lang.Class.getClassLoader()方法返回类的类加载器。某些实现可能使用null来表示引导类加载器。如果此类由引导类加载器加载,则此方法将在此类实现中返回null。声明(Declaration)以下是java.lang.Class.getClassLoader()方法的声…

    2022年4月30日
    73
  • linux 网口_网络管理员网址

    linux 网口_网络管理员网址Linux12:网络管理文章目录一.网络接口名称规则1.认识网卡2.修改网卡配置文件3.主机名4.网络测试工具一.网络接口名称规则计算机与外界通信的前提是:有网卡(网络适配器NAT)注意:虚拟机的总内存,不能超过真机服务器和客户机:谁提供服务,谁就是服务器1.认识网卡#ls /etc/sysconfig/network-scripts/补充:网络管理器NetworkManager,动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活查看该服务的运行状况:#

    2022年8月9日
    5

发表回复

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

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