Infragistics使用

Infragistics系列控件是一套很好,很強大的控件,前些日子公司買的正版的asp.net版本的..好像800多美元一套...最新版本的7.3....感覺很好..現在自己做項目也用..卻發現網上沒有一套中文的教程,中文資料都很少..在這裏就把自己的研究心得寫下來...
  首先安裝,一步一步裝就可以了..完成之後,有幾點說明的
  1.安裝完之後開始-程序的菜單裏有Create Visual Studio Toolbox Tab.要執行一下.在vs的工具箱裏生成infragistics的標籤..不然連控件都找不到哦...菜單裏還有一個sample...能實現的效果大部分都在裏面了...根據你自己的需求,可以在裏面找....菜單裏還有個document..裏面有各個控件的'指南','例子'.還有api和客戶端腳本api...
  2.安裝程序會在C:\Inetpub\wwwroot\aspnet_client\infragistics下生成一個包含運行時資源文件夾(包括圖片,css等文件)..所以這個文件夾比較重要(在你沒有appstle的情況下)...後面會說
  3.然後在安裝目錄下有dll文件的打包.我這裏是C:\Program Files\Infragistics\NetAdvantage for .NET 2007 Vol. 3 CLR 2.0\ASP.NET\Bin - Signed這個文件夾.網站發佈時.要把這個rar文件解壓到bin文件夾下.不然沒有dll文件怎麼執行啊..
  4.還附送了一個appstylelist的小軟件,可以設置空間外觀,有了這個就不用去學習,設置那些複雜的外觀屬性了.非常方便..而且用了這個,2裏提到的那個文件夾幾乎就沒用了...
  5.在你第一次拖動一個控件到頁面時..會在你得根目錄下生成一個licenses.licx文件..不要刪了哦..
  6.可以在虛擬主機下運行,看到網上有得文章說還要手動iis虛擬路徑之類的..不需要..只要把相關文件(圖片和dll)考到項目裏的相關附錄就可以了..
  前言部分就這麼多了..之後會說說控件..每種控件的功能,用法,代碼控制的方法..
  
  轉於http://blog.csdn.net/jingshuaizh/archive/2008/07/22/2689440.aspx
  
  
  Infragistics ASP.NET控件用法總結
  一、UltraWebGrid的基本用法
  1、 如何手工增加列
  第一步:將ControlSetting->DisplayOut->AutoGenerate置爲False:表示不讓控件自動添加列;
  第二步:添加自己需要的列:BaseColumnName即你要梆定的字段名; Key:指定該列的別人,方便以後尋找該列的值; Header->Caption: 表頭文字
  2、 凍結某列
   this.UltraWebGrid1.DisplayLayout.UseFixedHeaders = true;
   this.UltraWebGrid1.Bands[0].Columns.FromKey("Edit").Header.Fixed = true;
  3、 向表格中添加其它控件
  ControlSetting->Columns->選中你要操作的列->EditorControlID->選擇你要梆定的控件名
  4、 表格中添加一列Button按鈕
  ControlSettings->Columns->選中要修改爲安按鈕的行->Type->Button
  5、 合併單元格
  Control Settings->Columns->列名->Header->RowLayoutColumnInfo;
  SpanX:跨幾列 OriginX:哪一列開始
  //增加一個帶圖片的表頭
  foreach(Infragistics.WebUI.UltraWebGrid.UltraGridColumn c in e.Layout.Bands[0].Columns)
  {
   c.Header.RowLayoutColumnInfo.OriginY = 1;
  }
  // 添加一個大的表頭
  Infragistics.WebUI.UltraWebGridColumnHeader ch = new Infragistics.WebUI.UltraWeb
  GridColumnHeader(true);
  ch.Caption = “大表頭的名字”
   ch.RowLayoutColumnInfo.OriginY = 0; //設置添加表頭的Y軸位置
  ch.RowLayoutColumnInfo.SpanX = 3; //設置要跨的列數
  ch.Image.Url ="./images/bankingbtn.gif"; //添加圖片
  ch.Image.AlternateText = "Employee Name Grouping";
  e.Layout.Bands[0].HeaderLayout.Add(ch); //將上面的設置添加到該表中
  6、 添加一數字控件,並設置爲可點擊累加數字
  第一步:將控件WebNumericEdit->SpinButtons->Display設置爲:OnRight
  第二步:將UltraWebGrid中要梆定該控件的那一列的Type設置爲:Custom
  * 設置某列只讀; Allupdate = no
  7、 隱藏表頭頂端的那一行
  DisplayLayout->GroupByBox->Hidden = true
  8、 固定Header那一行
  this.UltraWebGrid1.DisplayLayout.StationaryMargins = Infragistics.WebUI.UltraWebGrid. StationaryMargins.Header;
  
  9、 指定列頭中字體的顯示位置
  Control Settings->Band[0]->HeaderStyle->HorizontalAlign = Center
  
   10、指定表格中字體的顯示位置
  Control Settings->Band[0]->RowStyle->HorizontalAlign = Center //全部
   Control Settings->Columns->列名->CellStyle->HorizontalAlign = Center //設訂某一列
   11、整張表不允許編輯
   Control Settings->Band[0]->AllUpdate = no
   12、選擇一行
   Control Settings->Band[0]->CellClickAction = RowSelect
   13、增加一行
   UltraWebGrid.DisplayLayout.Row.Add();
   14、確認對話框事件
  指定客戶端事件:UltraWebGrid1->DisplayLayout->ClientSizeEvents-> ClickCellButtonHandler:CellButtonClick
   函數的定義:
   function CellButtonClick(gridName, cellId)
   {
   if (cellId.substring(cellId.lastIndexOf("_") + 1, cellId.lastIndexOf("_") + 3) == "8")
   {
   return !confirm("確信要刪除此行數據嗎?");
   }
   }
  15、分頁處理
   UltraWebGrid1->DisplayOut->Pager->AllowPaging=True,然後是PageSize等設置。
   Pattern設置:這個模板就是用來自定義顯示效果的
   [page:1:首頁] 第[currentpageindex]頁 共[pagecount]頁 [prev] [next]
[default]  


  二、WebCombo的基本用法
  1、 實現可輸可選的下拉表格
  Editable->True
  2、 將下拉表格加載到UltraWebGrid中去
   UltraWebGrid1.Columns[1].Type = ColumnType.DropDownList;
   UltraWebGrid1.Columns[1].ValueList.WebCombo = WebComboGood
  
  
  
  原文地址:http://hi.baidu.com/%D1%EE%D0%F9%E5%E3/blog/item/3fecda55e3e0e75c574e00a9.html
  Infragistics NetAdvantage UltraWebGrid使用之一
  
  在一個UltraWebGrid的第一個column(Template Column)放了一個Checkbox ,檢查整個UltraWebGrid中的勾取情況,然後執行相關的操作。
  
  foreach(datarow row in grid.rows)
  {
  checkbox c = (checkbox)row.columns[0].findcontrol("checkbox");
  if(c.checked)
  {
  //do shomething by row data
  }
  }
  
  //取得全部的TemplateColumn,她把第一個列(column)數據都放在一個列表中
  UltraWebGrid.TemplatedColumn tcol = (WebUI.UltraWebGrid.TemplatedColumn)UltraWebGrid1.Bands[0].Columns[0];
  //取得每一個column的Cell內容
  foreach (Infragistics.WebUI.UltraWebGrid.CellItem item in tcol.CellItems)
  {
  CheckBox chkIsHaveRight = (CheckBox)item.FindControl("chkIsSendEmail");
  if (chkIsHaveRight.Checked == true)
  {
  //通過訪問父對象取得其他資料
  //item->cell->row->cell[4]->內容;在這過程中cell是item的父對象,row是cell的父對象,再訪問row下面的每4個Cell,再取得該Cell的內容。
  string info = item.Cell.Row.Cells[4].Text;
  }
  }
  
  
  
  1. UltraWebGrid添加模板列:
   先選擇UltraWebGrid --屬性--columns--勾選Templated column 即可


      HeaderText="標題" Key="BT" Type="HyperLink">

   ' Text='<%# DataBinder.Eval(Container.DataItem,"BT") %>' ToolTip='<%# DataBinder.Eval(Container.DataItem,"BT") %>' CommandName="showdetail" runat="server" Font-Underline="false">

  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。標題行居中顯示:
  
  
  對應項居中
  
  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');  
   }
   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');  
   }
   }
  
   }
  
  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 事件沒有相應
  
   解決:客戶端代碼中  
   設置RowChangedAction="OnTheFlyPostback"
   
  11 .客戶端事件在哪裏添加
  解決:       
   ClientSideEvents 中可以添加客戶端事件
    
  12.WebGrid 的列內容唯一
   解決: 因爲我們是通過 datatable 綁定的。。綁定前 DataColumn 設置列.Unique = true;
  
  13.隱藏一列  
  解決:把改列的寬設置爲 0px 或者 UltraWebGrid1.Columns[i].Hidden = true;
  
  14.WebGrid在IE6和IE7中拖動錯位解決辦法
   修改aspx頁面中的
   .
  
  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();
   }
   }
   }
  
  
  Infragistics NetAdvantage 組件說明 WebGrid(二)
  
  UltraWebGrid 客戶端對象樹
  Webgrid雖然是基於服務的控件,但是它也爲客戶端開發提供了強大的支持,Client Side Object Model是基於javascript對象模式的,它能許多功能而不需要往服務器回送。
  
  
  Ø Grid 對象:
  通過var grid =igtbl_getGridById('UltraWebGrid1');獲取,也可以直接引用oUltraWebGrid1
  常用屬性:  
  n bands:得到屬於這個grid的bands數組   
  在客戶端中沒有bands集合對象,代替它的是利用grid的bands屬性來實現  
  var grid = igtbl_getGridById('UltraWebGrid1'); 
  grid.bands[0].RowSizing = 2;  
  n rows:返回所有grid中band(0)中所有rows  
  var grid = igtbl_getGridById('UltraWebGrid1');  
  grid.Rows.getRow(0).RowSizing = 2;
    
  Ø Band對象:  
  代表所有的與之層次對應的所有的rows  
  通過 var band = igtbl_getGridById('UltraWebGrid1').Bands[n];獲取或var band = igtbl_getBandById('cellId');    
  常用屬性:
  n Columns:得到一個Columns數組,原理類似於grid中的bands屬性  
  var band = igtbl_getBandById('cellId');  
  band.columns[0].HeaderClickAction = 1;  
  
  Ø Column對象  
  通過var col = igtbl_getGridById('UltraWebGrid1').Bands[n].Columns[m];獲取或var col = igtbl_getColumnById('cellId');  
  常用方法:  
  n SetHidden方法  
  setHidden(true):隱藏指定列
  
  Ø Cell對象  
  通過Row.getCell(n)獲取  
  常用方法  
  n SetValue  
  n GetValue  
  n GetPrevCell  
  n getNextCell
        
  Ø Row對象  
  Row對象不是爲grid中每行自動產生的,而是根據需要動態創建的  
  通過igtbl_getRowById(cellId)獲取,或Rows.getRow(n)獲取,或igtbl_getActiveRow(gridName)獲取。  
  常用方法:  
  n getCell(index)  
  返回當前行中指定的Cell對象,索引是從0開始的。
  
  Ø Rows集合對象  
  實際應用
  數據源

  Ø Dataset  
  webgrid可以使用許多數據源,只要這些數據源實現IList, ITypedList or IBindingList 接口就可以應用。最強大之處可以包含多個相關的datatable,把這些datatable以分層grid的方式來表現。  
  UltraWebGrid1.DataSource = dataset  
  UltraWebGrid1.DataBind()

  
  Ø 在InitializeLayout事件中可以隱藏某列。  
  e.Layout.Bands(0).Columns.FromKey("Salary").Hidden = True
  
  數據操作
  Ø 顯示一個值,存儲另一個值
  
  利用ValueList,dataValue,DisplayText    
  Dim valueList As Infragistics.WebUI.UltraWebGrid.ValueList   
  valueList = new Infragistics.WebUI.UltraWebGrid.ValueList()     
  valueList.ValueListItems.Add 1, "One"  
  valueList.ValueListItems.Add 2, "Two"  
  valueList.ValueListItems.Add 3, "Three"    
  valueList.DisplayStyle = Infragistics.WebUI.UltraWebGrid.ValueListDisplayStyle.DisplayText  
  UltraWebGrid1.DisplayLayout.Bands(0).Columns.FromKey("Notes").Type = Infragistics.WebUI.UltraWebGrid.ColumnType.DropDownList  
  UltraWebGrid1.DisplayLayout.CellClickActionDefault = Infragistics.WebUI.UltraWebGrid.CellClickAction.Edit
  
          
  Infragistics NetAdvantage 組件說明 WebGrid(三)
  UltraWebGrid1.DisplayLayout.Bands(0).Columns.FromKey("Notes").ValueList = valueList
  
  另外一種方式
  
  UltraWebGrid1.Columns(0).Type = Infragistics.WebUI.UltraWebGrid.ColumnType.DropDownList
  
  Dim PlantList As ValueList = UltraWebGrid1.Columns(0).ValueList
  
  PlantList.DataSource = db.getAllPlantInfo.Tables(0).DefaultView
  
  PlantList.ValueMember = "plantnum"
  
  PlantList.DisplayMember = "plantname" 必須和查詢出的字段大小寫一致
  
  PlantList.DataBind()
  
  UltraWebGrid1.DisplayLayout.AllowUpdateDefault = AllowUpdate.Yes
  
  UltraWebGrid1.DisplayLayout.CellClickActionDefault = CellClickAction.Edit
  
  關於表格原有數據鍵值或編號綁定問題
  
  利用Cell.Title解決這個問題
  
  Dim ds1 As DataSet
  
   ds1 = db.getAllPlantInfo
  
   UltraWebGrid1.Columns(0).Type = Infragistics.WebUI.UltraWebGrid.ColumnType.DropDownList
  
   Dim PlantList As ValueList = UltraWebGrid1.Columns(0).ValueList
  
   PlantList.DataSource = ds1.Tables(0).DefaultView
  
   PlantList.ValueMember = "plantnum"
  
   PlantList.DisplayMember = "plantname"
  
   PlantList.DataBind()
  
  
   UltraWebGrid1.Columns(1).Type = Infragistics.WebUI.UltraWebGrid.ColumnType.DropDownList
  
   Dim PlantList2 As ValueList = UltraWebGrid1.Columns(1).ValueList
  
   PlantList2.DataSource = ds1.Tables(0).DefaultView
  
   PlantList2.ValueMember = "plantnum"
  
   PlantList2.DisplayMember = "plantname"
  
   PlantList2.DataBind()
  
  
   UltraWebGrid1.DisplayLayout.AddNewBox.Prompt = "增加->"
  
   UltraWebGrid1.Bands(0).AddButtonCaption = "出讓方"
  
   Dim ds As DataSet
  
   ds = db.getFdqjy
  
  
   UltraWebGrid1.DataSource = ds.Tables(0).DefaultView
  
  
       
   UltraWebGrid1.Columns(0).AllowUpdate = Infragistics.WebUI.UltraWebGrid.AllowUpdate.Yes
  
   UltraWebGrid1.Columns(1).AllowUpdate = Infragistics.WebUI.UltraWebGrid.AllowUpdate.Yes
  
   UltraWebGrid1.Columns(2).AllowUpdate = Infragistics.WebUI.UltraWebGrid.AllowUpdate.Yes
  
   UltraWebGrid1.DisplayLayout.AllowDeleteDefault = AllowDelete.Yes
  
   UltraWebGrid1.DisplayLayout.AllowUpdateDefault = AllowUpdate.Yes
  
   UltraWebGrid1.DisplayLayout.RowSelectorsDefault = RowSelectors.Yes
  
   UltraWebGrid1.DisplayLayout.CellClickActionDefault = CellClickAction.RowSelect
  
   UltraWebGrid1.DataBind()
  
  
   Dim en As UltraGridRowsEnumerator
  
   en = UltraWebGrid1.Bands(0).GetRowsEnumerator()
  
   Dim row As UltraGridRow
  
   While en.MoveNext() <> Nothing
  
   row = en.Current
  
   row.Cells(0).Title = ds.Tables(0).Rows(row.Index).Item(0)
  
   row.Cells(1).Title = ds.Tables(0).Rows(row.Index).Item(2)
  
   End While
  
  
  說明:原希望通過cell.text 和cell.value解決,但是通過查詢資料和試驗,發現text作爲value的輔助,他們的是重疊的,其中一個設置會覆蓋另一個。Title則可以插入到cell的tag中
  
  
  Ø 用戶接口:選擇、激活、編輯
  
  row和cell可以作爲激活的對象,並且如果cell爲激活則包含cell的row自動成爲激活
  
  Active不同於選擇,多行可以選擇,但在某一時刻只能有1 row和 1 Cell可以是激活的。
  
  Ø 去掉滾動條
  
  Me.UltraWebGrid1.Width=Unit.Percentage(100)
  
  Me.UltraWebGrid1.Height=Unit.Percentage(100)
  
  Me.UltraWebGrid1.DisplayLayout.FrameStyle.CustomRules = "table-layout:auto"
  
  
  Ø 行的選擇和激活行
  
  當指向一個行時,這個行就會編程active row,成爲active row由以下幾個因素決定,  
  1. 當行中的某個cell進入編輯模式,行就自動成爲激活;  
  2. 選擇行,多選時,最頭一個行作爲active row;  
  3. 通過代碼UltraWebGrid1.DisplayLayout.ActiveRow = UltraWebGrid1.Rows(0)
  
  可以調整active row的外觀
  
  UltraWebGrid1.DisplayLayout.ActiveRow.Style.BackColor = Color.Red
  
  UltraWebGrid1.DisplayLayout.ActiveRow.Style.Border = Color.Blud
  
  Ø 改變激活行
  
  Dim objRow As Infragistics.WebUI.UltraWebGrid.UltraGridRow
  
  objRow = Me.UltraWebGrid1.Rows(5)
  
  Me.UltraWebGrid1.ActiveRow = objRow
  
  Ø Cell選擇和激活
  
  成爲active cell的條件與行類似。
  
  UltraWebGrid1.DisplayLayout.ActiveCell = UltraWebGrid1.Rows(0).Cells(0)
  
  可以調整active cell的外觀
  
  UltraWebGrid1.DisplayLayout.ActiveCell.Style.BackColor = Color.Red
  
  Ø 當click Cell時進入編輯模式
  
  Me.UltraWebGrid1.DisplayLayout.AllowUpdateDefault = AllowUpdate.Yes
  
  Me.UltraWebGrid1.DisplayLayout.CellClickActionDefault = CellClickAction.Edit
  
  Ø cell中內嵌編輯控件
  
  1. 把編輯控件(日期選擇控件)加入到頁面中,把編輯控件的邊設成None
  
  2. 加入webgrid,displayout.AllwoUpdateDefault=True
  
  3. 利用webgrid列屬性向導關聯編輯控件和webgrid中的列。
  
  
  
  
  
  
  
  Infragistics NetAdvantage 組件說明 WebGrid(四)
  樣式和格式

  UltraWebGrid加載許多不同的樣式對象,每個樣式對象有自己的屬性,
  
  
  
  一些Style有相對應的default屬性(對象?)比如:HeaderStyleDefault、RowStyleDefault、RowAlternateStyleDefault
  
  
  常用屬性:
  Backcolor,BackGroundImage,BorderColor,BorderStyle,BorderWidth,Cursor,Font,ForeColor,Height,Width,Margin,Padding,HorizongtalAlign,VerticalAlgin,warp,
  
  
  Ø 創建和應用樣式
  
  Dim style as GridItemStyle 
  style = new GridItemStyle()
    
  style.BackColor = System.Drawing.Color.Red
  
  style.ForeColor = System.Drawing.Color.White
  
  style.BorderStyle = BorderStyle.Groove
  
  style.BorderWidth = New Unit("3px")
  
  style.BackgroundImage = "images/landscape.jpg"
  
  style.Font.Bold = true
    
  UltraWebGrid1.DisplayLayout.AddNewBox.Style = style
  
  也可以直接設置
  
  UltraWebGrid1.DisplayLayout.RowSelectorStyleDefault.BackColor = System.Drawing.Color.Red
    
  設置表頭樣式
  UltraWebGrid1.DisplayLayout.HeaderStyleDefault.CssClass = "TD_Header"
    
  隱藏Row Select
  Me.UltraWebGrid1.DisplayLayout.RowSelectorsDefault = Infragistics.WebUI.UltraWebGrid.RowSelectors.No
  
  隱藏cell超出部分,用省略號表示
  UltraWebGrid1.DisplayLayout.RowStyleDefault.Wrap = False
  
  UltraWebGrid1.DisplayLayout.RowStyleDefault.TextOverflow = Infragistics.WebUI.UltraWebGrid.TextOverflow.Ellipsis
  
  固定表頭
  UltraWebGrid1.DisplayLayout.StationaryMargins = Infragistics.WebUI.UltraWebGrid.StationaryMargins.HeaderAndFooter
  
  
  根據Cell不同值顯示不同樣式
  放置在UltraGrid的InitializeRow事件中
  
  If e.Row.Cells.FromKey("Subject").Value = "Test" Then
  
  e.Row.Cells.FromKey("Subject").Style.BackColor = System.Drawing.Color.Red
  
  End If
  
  固定某一列
  UltraWebGrid1.DisplayLayout.UseFixedHeaders = True
  
  UltraWebGrid1.DisplayLayout.FixedHeaderIndicatorDefault = FixedHeaderIndicator.Button
  
  AddNewBox設置
  UltraWebGrid1.DisplayLayout.AddNewBox.ButtonStyle.CssClass設置button的樣式
  
  UltraWebGrid1.DisplayLayout.AddNewBox.ButtonStyle.Cursor設置光標落在上面顯示的樣式
  
  更新數據庫
  批量更新數據庫,需要頁面上有提交按鈕

  
  1. 設置webgrid 能Update
  
  2. 設置default cell click是edit模式
  
  3. 增加guid隱藏列,實現可以新增多行
  
  4. 增加以下代碼到InitializeLayout事件中
  

  e.Layout.Bands(0).DataKeyField = "CustomerID"


轉載於:http://blog.163.com/red_guitar@126/blog/static/1172061282010027111649428/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章