[转载]对于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,如需转载请自行联系原作者

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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