找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 9947|回复: 1

UltraWinGrid 常用技巧

[复制链接]
发表于 2009-11-30 23:26:28 | 显示全部楼层 |阅读模式 IP:江苏扬州
1 委托
this.ultraGrid1.AfterCellUpdate -= new Infragistics.Win.UltraWinGrid.CellEventHandler(this.ultraGrid1_AfterCellUpdate);
       this.ultraGrid1.Rows[0].Cells["字段名"].Value = "";
       this.ultraGrid1.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(this.ultraGrid1_AfterCellUpdate);
2 判断
e.Cell.Column.Key == "字段名"
3 判断某列是否重复
public static bool CheckIfSame(UltraGrid ug, string colname)
   {
   for(int i = 0; i < ug.Rows.Count; i++)
   {
     for(int j = i+1; j < ug.Rows.Count; j++)
     {
     if(ug.Rows[i].Cells[colname].Text == ug.Rows[j].Cells[colname].Text && ug.Rows[i].Cells[colname].Text != "")
     {
       return true;
     }
     }
   }
   return false;
   }
4 Enter切换,在form_load事件里写
   this.ultraGrid1.KeyActionMappings.Add(new Infragistics.Win.UltraWinGrid.GridKeyActionMapping(System.Windows.Forms.Keys.Enter, Infragistics.Win.UltraWinGrid.UltraGridAction.NextCell, Infragistics.Win.UltraWinGrid.UltraGridState.IsCheckbox, Infragistics.Win.UltraWinGrid.UltraGridState.Cell, 0, 0));
5 选中一行
this.ultraGrid1.Rows[i].Activate();
this.ultraGrid1.Rows[i].Selected = true;
6 新增一行,并将新行设为当前行
第一种:
Infragistics.Win.UltraWinGrid.UltraGridRow row = UltraGrid1.Rows.TemplateAddRow;
UltraGrid1.ActiveRow = row;
第二种
Infragistics.Win.UltraWinGrid.UltraGridRow row = UltraGrid1.Rows.Band.AddNew();
UltraGrid1.ActiveRow = row;
-
7 接受UltraGrid中编辑的值
UltraGrid1.UpdateData();
8 UltraGrid 删除选中的行
             if (ug_list.ActiveRow != null)
             {
                 if (MessageBox.Show("确定要删除选定行吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                 {
                     ug_list.DeleteSelectedRows(true);
                 }
             }
-
-
9。添加Column
Start\Basic Settings\Data Schema\Manually Define a Schema\添加Column,命名用数据库中的字段名。
10。添加Column中文名称
Band and Column Settings\Band [0](手动添加Column后)\Columns\选择列\Header\修改Caption属性
11。整个表的属性在Basic Settings或职能按钮中修改;单列的属性在Band中修改。
12。Basic Settings中Data Schema用于设置数据列;Presets用于调整样式;Picker用于定义一些选项属性。
5。绑定数据
this.ultraGrid1.DataSource = myDataSet.Tables[0];
数据列也可以在DataTable中设定,Column[0].ColumnName或Column[0].Caption
13。Header换行
智能按钮/Wrap Header Text 设为true,默认为不换行的
14。排序:Picker/Filtring/Allow
15。分组:Picker/OutLook GroupBy/Active
16。编辑:Picker/Update
17。多行表头:Column Arrangement Designer/Add Group/Add Level/把相应的列拖到组下面,
18。隐藏列:Column Arrangement Designer/Show Hide
19。单列不可编辑:Band[0]/Column/AllowEdit
20。单击单元格选择状态:Band[0]/Column/CellClickAction
21。绑定控件:Band[0]/Column/EditorControl
22。单元格合并:Band[0]/Column/MergedCell。。。
23。定住不滚动列:Picker/Fixed Header
24。增加行:
     this.ultraGrid1.Rows.Band.AddNew();
     this.ultraGrid1.Rows[this.ultraGrid1.Rows.Count - 1].Cells["REC_ID"].Value = CommomFun.GetID();
25。删除行:
   if (this.ultraGrid1.Rows.Count <= 0)
                 {
                     MessageInfo.ShowMessage("m_system_client_0009");
                     return ;
                 }
                 #endregion
                 if (this.ultraGrid1.ActiveRow != null)
                 {
                     this.ultraGrid1.ActiveRow.Selected = true;
                 }
                 if (MessageInfo.ShowMessage("m_system_client_0003", MessageBoxButtons.YesNo) == DialogResult.Yes)
                 {
                     bool blnDeleted = false;
                     for (int i = 0; i < this.ultraGrid1.Rows.Count; i++)
                     {
                         if (this.ultraGrid1.Rows[i].Selected || this.ultraGrid1.Rows[i].IsActiveRow)
                         {
                             if (this.ultraGrid1.Rows[i].Delete(false))
                             {
                                 i--;
                             }
                             blnDeleted = true;
                         }
                     }
                  
                     if (!blnDeleted)
                     {
                         MessageInfo.ShowMessage("m_system_client_0009");
                     }
                 }
-
26 UltraGrid风格设置函数
   public static void ColorGrid(ref Infragistics.Win.UltraWinGrid.UltraGrid ug)
   {
   //标题
   ug.DisplayLayout.CaptionAppearance.TextHAlign = Infragistics.Win.HAlign.Left;
   ug.DisplayLayout.CaptionAppearance.BackColor = Color.LightSteelBlue;
   //边框显示
   ug.DisplayLayout.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid;
   //背景色
   ug.DisplayLayout.Appearance.BackColor = Color.White;
  
   //默认颜色设置
   ug.DisplayLayout.Override.HeaderAppearance.BackColor = Color.LightSteelBlue;//列
   ug.DisplayLayout.Override.RowSelectorAppearance.BackColor = Color.LightSteelBlue;//行
   //选中颜色设置
   ug.DisplayLayout.Override.SelectedCellAppearance.BackColor = Color.SteelBlue;//选中单元格
   ug.DisplayLayout.Override.SelectedRowAppearance.BackColor = Color.SteelBlue;//选中行
   //ActiveRowx颜色设置
   ug.DisplayLayout.Override.ActiveRowAppearance.BackColor = Color.SteelBlue;
   }
27 UltraGrid 删除选中的行
this.ultraGrid1.DeleteSelectedRows(false);
28 委托
this.ultraGrid1.AfterCellUpdate -= new Infragistics.Win.UltraWinGrid.CellEventHandler(this.ultraGrid1_AfterCellUpdate);
       this.ultraGrid1.Rows[0].Cells["字段名"].Value = "";
       this.ultraGrid1.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(this.ultraGrid1_AfterCellUpdate);
29 格子的属性
   e.Cell.Column.Key   :字段名
   e.Cell.Column.Header.Caption   :字段标题名
   e.Cell.column.Band.Key :Band(表)的名称;
30 判断某列是否重复
   public static bool CheckIfSame(UltraGrid ug, string colname)
   {
   for(int i = 0; i < ug.Rows.Count; i++)
   {
     for(int j = i+1; j < ug.Rows.Count; j++)
     {
     if(ug.Rows[i].Cells[colname].Text == ug.Rows[j].Cells[colname].Text && ug.Rows[i].Cells[colname].Text != "")
     {
       return true;
     }
     }
   }
   return false;
   }
31 Enter切换,在form_load事件里写
   this.ultraGrid1.KeyActionMappings.Add(new Infragistics.Win.UltraWinGrid.GridKeyActionMapping(System.Windows.Forms.Keys.Enter, Infragistics.Win.UltraWinGrid.UltraGridAction.NextCell, Infragistics.Win.UltraWinGrid.UltraGridState.IsCheckbox, Infragistics.Win.UltraWinGrid.UltraGridState.Cell, 0, 0));
32 选中一行
this.ultraGrid1.Rows[i].Activate();
       this.ultraGrid1.Rows[i].Selected = true;
33 空行
     是否显示空行this.UltraGrid1.DisplayLayout.EmptyRowSettings.ShowEmptyRows = true;
     空行样式
     EmptyRowStyle style = (EmptyRowStyle)this.ultraComboEditorStyle.Value;
     this.UltraGrid1.DisplayLayout.EmptyRowSettings.Style = style;
34.保存属性设置
   this.gridOne.DisplayLayout.Save(objLayout1,Infragistics.Win.UltraWinGrid.PropertyCategories.All);
35 重置属性设置
   this.gridOne.DisplayLayout.Load(this.m_objFancyLayout, Infragistics.Win.UltraWinGrid.PropertyCategories.All);
-
36.不同行样式
   this.gridRowProperties.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.Cyan;
   this.gridRowProperties.DisplayLayout.Override.RowAlternateAppearance.ForeColor = Color.DarkBlue;
37.下拉框UltraDropDown
   this.UltraDropDown1.ValueMember = "ProductID";
   this.UltraDropDown1.DisplayMember = "Name";
   this.ultraGrid1.DisplayLayout
38.设置水平滚动条
     把列表的”DisplayLayOut -> AutoFitStyle”设置为“ResizeAllColumns”,然后在登录方法中添加代码” gdSelectList.DisplayLayout.AutoFitStyle = AutoFitStyle.None;”即可。注意:此代码必须运行在列表初始化后,否则滚动条不会显示
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 17:20 , Processed in 0.513384 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表