注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Start Know

自分を信じて、自分で一定でいけます

 
 
 

日志

 
 

UltraWebGrid具体操作  

2009-04-02 09:48:37|  分类: .net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1. UltraWebGrid添加模板列:
      先选择UltraWebGrid --属性--columns--勾选Templated column 即可
      
       <igtbl:TemplatedColumn AllowResize="Free" BaseColumnName="BT" ChangeLinksColor="True"
                            HeaderText="标题" Key="BT" Type="HyperLink">
                            <CellTemplate>
                                <asp:LinkButton ID="LinkButton1" CssClass="WordBreak" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"AQJYGXID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"BT") %>'  ToolTip='<%# DataBinder.Eval(Container.DataItem,"BT") %>'  CommandName="showdetail" runat="server" Font-Underline="false"></asp:LinkButton>
                            </CellTemplate>
                            <Header Caption="标题">
                                <RowLayoutColumnInfo OriginX="2" />
                            </Header>
                            <Footer>
                                <RowLayoutColumnInfo OriginX="2" />
                            </Footer>
                        </igtbl:TemplatedColumn>


2.  UltraWebGrid日期列:
      设置日期列的 Format属性:yyyy-MM-dd(Date)
      DataType属性为System.DateTime


3。取某行的某列(列名:BIDPRICE)的值:  
  UltraWebGrid1.Rows[i].Cells.FromKey("BIDPRICE").Value或者UltraWebGrid1.Rows[i].Cells[j].Value  
  取某列:UltraWebGrid1.Columns.FromKey("BIDPRICE").Value


4。标题行居中显示:
      <HeaderStyleDefault BackColor="LightGray" BorderStyle="Solid" HorizontalAlign="Center">
                 </HeaderStyleDefault>
   
 对应项居中    <CellStyle HorizontalAlign="Center"></CellStyle>

5.UltraWebGrid的固定列功能
    具体步骤:
        (1) 在UltraWebGrid下的DisplayLayout中把TableLayout属性设为:Fixed ; UseFixedHeaders设为:True  //这是指定Grid允许固定列
  StationaryMargins="Header"  //这使Header始终在最上面显示
(2)  设定列固定: Header下面的Fixed设置为true。这样就可以实现ID固定了,但效果图中还有一个功能就是,点击后面的任何一个列后的“图钉”图标,就可以任意进行多列固定了。如下图为我点击了“ContactName”的效果:这种功能的实现,只要修改一个属性:FixedHeaderIndicatorDefault="Button"就可以了。

6。UltraWebGrid 最下面线显示问题:
       选择UltraWebGrid点击》选择Bands And Columns的DefaultrowHeight设置高度 即可。


7.   选择一行以后获得选定行指定列的值
if (e.InnerCommandEventArgs.CommandName == "showdetail")
        {
            int id = Convert.ToInt32(e.InnerCommandEventArgs.CommandArgument);
           
            for (int i = 0; i < UltraWebGrid1.DisplayLayout.SelectedRows.Count; i++)
            {
                if (UltraWebGrid1.DisplayLayout.SelectedRows[i].Cells[6].Text == "未审批")//选取一行以后获得选定行指定列的值
               {
                    string url2 = "../zhishishenbaobiao/zssbview.aspx?id=" + id + " ";
                    Page.RegisterStartupScript("showinfo", "<script>window.open('" + url2 + "','未审批知识信息查看','width=850,height=600,toolbar=no,scrollbars=yes,status=yes,resizable=yes');</script>");

                }
                else
                {
                    string url2 = "../zhishishenbaobiao/showview.aspx?id=" + id + " ";
                    Page.RegisterStartupScript("showinfo", "<script>window.open('" + url2 + "','已审批知识信息查看','width=850,height=600,toolbar=no,scrollbars=yes,status=yes,resizable=yes');</script>");

                }
            }
           
        }

7. UltraWebGrid 单击单元格选中行
        (1)  选择UltraWebGrid-displayout  CellClickActionDefault=RowSelected
        (2)   选择UltraWebGrid-智能选择卡--Bands And Columns--Band[“”]--SelectRowStyle的BackColor属性
  

 8. 设置UltraWebGrid的第0列为模板列,加入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) 
           { 
                  //进行相关的操作
            }
   }


9.禁止操作列
  (1) 禁止操作一列数据
   Infragistics.WebUI.UltraWebGrid.TemplatedColumn tcol = (TemplatedColumn)UltraWebGrid1.Bands[0].Columns[9];//模板列
                    foreach (CellItem item in tcol.CellItems)
                    {
                        System.Web.UI.WebControls.ImageButton chkIsHaveRight = (System.Web.UI.WebControls.ImageButton)item.FindControl("ImageButton3");
                        chkIsHaveRight.Enabled = false;
                    }
(2) 禁止操作某列中已审批列
 Infragistics.WebUI.UltraWebGrid.TemplatedColumn tcol = (TemplatedColumn)UltraWebGrid1.Bands[0].Columns[9];//模板列
     foreach (CellItem item in tcol.CellItems)
                        {
                            System.Web.UI.WebControls.ImageButton chkIsHaveRight = (System.Web.UI.WebControls.ImageButton)item.FindControl("ImageButton3");
                            if (item.Cell.Row.Cells[6].Text == "已审批")
                            {
                                chkIsHaveRight.Enabled = false;//已审批按钮禁止选择
                            }
                            else
                            {
                                chkIsHaveRight.Enabled = true;
                            }

                        }


10. webgrid 的 RowChanged  事件没有相应

       解决:客户端代码中<LayoutSettings AllowAddNew="Yes" AllowDelete="Yes" AllowEdit="Yes" RowChangedAction="OnTheFlyPostback">

              </LayoutSettings>
               设置RowChangedAction="OnTheFlyPostback"

 


11 .客户端事件在哪里添加

解决:<LayoutSettings AllowAddNew="Yes" AllowDelete="Yes" AllowEdit="Yes" RowChangedAction="OnTheFlyPostback">

                                        <ClientSideEvents OnRowValidate="wgUserRole_OnRowValidate" />

                                        </LayoutSettings>

              ClientSideEvents 中可以添加客户端事件

 


12.WebGrid  的列内容唯一
          解决: 因为我们是通过 datatable 绑定的。。绑定前 DataColumn 设置列.Unique = true;


 

13.隐藏一列

解决:把改列的宽设置为 0px 或者 UltraWebGrid1.Columns[i].Hidden = true;

14.WebGrid在IE6和IE7中拖动错位解决办法:
       修改aspx页面中的
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN">.

15.按WebGrid排序列

   protected void UltraWebGrid2_SortColumn(object sender, SortColumnEventArgs e)
    {
        string newSortDirection;
        string sqltemp = "";
        //正逆序切换
        if (oldSortDirection == "ASC")
            newSortDirection = "DESC";
        else
            newSortDirection = "ASC";
        oldSortDirection = newSortDirection;
        if (e.ColumnNo != 0)
        {
            if (sqlwhere != "")
            {
                sqltemp +=" " + UltraWebGrid1.Columns[e.ColumnNo].Key + " " + newSortDirection;
                moDataView.RowFilter = "1=1" + sqlwhere;//sqlwhere查询条件
                moDataView.Sort = sqltemp;//按选择字段排序
                if (moDataView.Count == 0)
                {
                   UltraWebGrid1.DataSource = moDataView;
                    UltraWebGrid1.DataBind();
                }
                else
                {
                    UltraWebGrid1.DataSource = moDataView;
                    UltraWebGrid1.DataBind();
                }
            }
            else
            {
                moDataView.RowFilter = "";
                UltraWebGrid1.DataSource = moDataView;
                UltraWebGrid1.DataBind();
            }
        }
    }

  评论这张
 
阅读(1091)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017