




已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
成都軟件開發(fā)成都網(wǎng)站建設 成都凡迪軟件 DEV控件:gridControl常用屬性設置2011-01-19 09:501.隱藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; 2.得到當前選定記錄某字段的值 sValue=Table.RowsgridView1.FocusedRowHandleFieldName.ToString();3.數(shù)據(jù)只讀 gridView1.OptionsBehavior.Editable=false;4.不顯示MasterDetailView gridView1.OptionsDetail.EnableMasterViewMode=false;5.修改最上面的GroupPanel內容 gridView1.GroupPanelText=柳生飄絮;6.設置數(shù)據(jù)源: gridControl1.DataSource = dt; 綁定每一列的FiledName-屬性 對于Oracle數(shù)據(jù)庫,所有的在設計器里寫的程序中的字段名必須大寫,否則可能綁定不上字段,sqlserver沒有這個限制.7.讀寫拷貝權限設置 只讀不可拷貝: ColumnViewOptionsBehavior.Editable = False 只讀可拷貝: ColumnViewOptionsBehavior.Editable = True OptionsColumn.AllowEdit = True OptionsColumn.ReadOnly = True 可編輯: ColumnViewOptionsBehavior.Editable = True OptionsColumn.AllowEdit = True OptionsColumn.ReadOnly = False8.模板列的設置: 到Columns中,在他的屬性中找到ColumnEdit. 以LookUpEdit為例: 首先從Designer左邊菜單In-Place Editor Repository中添加LookUpEdit.取名為Re1.然后.在他的Columns屬性中添加3列.Caption依次為:編號,姓名,性別.FieldName依次為:FID,FNAME,FSEX.然后將Re1的NullText設置成空.AutoSearchColumnIndex屬性設置為2.ImmediatePopup屬性設置為True.SearchMode設置為OnlyInPopup.然后將這個模板列附加到我們上面提到的列1(也就是將列1的ColumnEdit屬性設成Re1)最后我們還要在代碼里面給Re1綁定數(shù)據(jù)源和顯示項. Re1.DataSource = DALUse.Query(select fid,fname,fsex from dual).Tables0; Re1.DisplayMember = FSEX; Re1.ValueMember = FNAME;9.設某一列文字和標題局中顯示 gridView1.Columns0.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; gridView1.Columns0.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;10.去掉某一列上面的自動篩選功能(Filter) gridView1.Columns0.OptionsFilter.AllowAutoFilter = false; gridView1.Columns0.OptionsFilter.AllowFilter = false; gridView1.Columns0.OptionsFilter.ImmediateUpdateAutoFilter = false;11.設置凍結列(左凍結) gridView1.Columns0.Fixed= DevExpress.XtraGrid.Columns.FixedStyle.Left;12.得到單元格數(shù)據(jù)(0行0列) string ss=gridView1.GetRowCellDisplayText(0, gridView1.Columns0); string ss = gridView1.GetRowCellValue(0, gridView1.Columns0);13.設置單元格數(shù)據(jù)(將0行0列的單元格賦值123) gridView1.SetRowCellValue(0, gridView1.Columns0, 123);13.手動添加dev的列 DevExpress.XtraGrid.Columns.GridColumn Col1=new DevExpress.XtraGrid.Columns.GridColumn (); Col1.FieldName=FID; Col1.Visible=true; Col1.VisibleIndex=gridView1.Columns.Count; gridView1.Columns.Add(Col1);14.設置自動增加的行號,需要先添加給gridview添加事件CustomDrawRowIndicator private void gridview_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) if (e.Info.IsRowIndicator & e.RowHandle = 0) e.Info.DisplayText = (e.RowHandle + 1).ToString(); 15.刪除: (修改了dgvdel里的datagridviewdel方法) public static void datagridviewdel_Dev(DevExpress.XtraGrid.Views.Grid.GridView Mydgv) if (MessageBox.Show(你確定要刪除選中的記錄嗎?, 刪除提示, MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, 0, false) = DialogResult.Yes) int iSelectRowCount = Mydgv.SelectedRowsCount; if (iSelectRowCount 0) Mydgv.DeleteSelectedRows(); 16. 新增: (對于新增,其本身的AddNewRow方法就可以做到) private void btn_add_Click(object sender, EventArgs e) gridView1.AddNewRow(); 具體如果對于新加行還有什么特別的設置,可以在它gridView1_InitNewRow事件中填寫: private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e) ColumnView View = sender as ColumnView; View.SetRowCellValue(e.RowHandle, View.Columns0, gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns0); /復制最后一行的數(shù)據(jù)到新行 View.SetRowCellValue(e.RowHandle, View.Columns1, gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns1); /復制最后一行的數(shù)據(jù)到新行 17. 保存 (第三方控件提供的RefreshData和RefreshDataSource方法對于保存數(shù)據(jù)都不好使,最后還是使用了Dgvsave的datagridviewsave方法,用這個方法就可以)18.特效:gridcontrol中有5種view 型式,普通的是gridview,然后分別為cardview、BandedView、Advanced BandedView、LayoutView;共5種。 1)、view組中把OptionView下的viewmode 設置成“Carousel”就達到這種“旋轉木馬”式的gridcontrol view 特效了 2)、layoutView1.OptionsCarouselMode.PitchAngle 這個屬性決定“旋轉木馬”的pitch angle 螺距角; 螺旋角; 螺旋升角; 俯仰角; 傾角; 節(jié)錐半角 3)、Roll Angle 屬性決定著 傾側角度 4)、指定數(shù)據(jù)源,顯示數(shù)據(jù): /顯示數(shù)據(jù) private void showData(List list) DataTable dt = new DataTable(OneEmployee); dt.Columns.Add(Caption, System.Type.GetType(System.String); dt.Columns.Add(Department, System.Type.GetType(System.String); dt.Columns.Add(PhotoName, System.Type.GetType(System.Byte); for (int i = 0; i = 0) object needAlert = View.GetRowCellValue(e.RowHandle, View.ColumnsneedAlert); if (needAlert != null & needAlert != DBNull.Value & needAlert.ToString().Trim() != 0 & View.GetRowCellValue(e.RowHandle, View.ColumnsValue) != DBNull.Value) decimal AverValue = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.ColumnsValue); object MinValue = View.GetRowCellValue(e.RowHandle, View.ColumnsMinValue); object MaxVlaue = View.GetRowCellValue(e.RowHandle, View.ColumnsMaxValue); if (MinValue != DBNull.Value & MinValue != null & MaxVlaue.ToString() != & MaxVlaue != DBNull.Value & MaxVlaue != null & MaxVlaue.ToString() != ) decimal gridColumn2 = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.ColumnsMinValue); decimal gridColumn1 = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.ColumnsMaxValue); if (gridColumn2 AverValue | AverValue gridColumn1) if (!ht.ContainsKey(pic) ht.Add(pic, GetImage(1); e.Value = htpic; / / 由資源文件獲取圖片/ / / byte GetImage(int key) Image img = DevExpress.Utils.Controls.ImageHelper.CreateImageFromResources(string.Format(RiverSys.Resources.0.gif, key.ToString(), typeof(RiverInfos).Assembly); return DevExpress.XtraEditors.Controls.ByteImageConverter.ToByteArray(img, ImageFormat.Gif);/ / 動態(tài)根據(jù)條件設置行樣式/ / / private void gridView6_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e) GridView View = sender as GridView; if (e.RowHandle = 0) object needAlert = View.GetRowCellValue(e.RowHandle, View.ColumnsneedAlert); if (needAlert != null & needAlert != DBNull.Value & needAlert.ToString().Trim() != 0 & View.GetRowCellValue(e.RowHandle, View.ColumnsValue) != DBNull.Value) decimal AverValue = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.ColumnsValue); object MinValue = View.GetRowCellValue(e.RowHandle, View.ColumnsMinValue); object MaxVlaue = View.GetRowCellValue(e.RowHandle, View.ColumnsMaxValue); if (MinValue != DBNull.Value & MinValue != null & MaxVlaue.ToString() != & MaxVlaue != DBNull.Value & MaxVlaue != null & MaxVlaue.ToString() != ) decimal gridColumn2 = Convert.ToDecimal(MinValue); decimal gridColumn1 = Convert.ToDecimal(MaxVlaue); if (gridColumn2 AverValue | AverValue gridColumn1) e.Appearance.ForeColor = Color.Red; e.Appearance.BackColor = Color.LightGray; 三、GridControl 中顏色選擇控件private void gvMapColor_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e) GridView view = sender as GridView; DataView dv = view.DataSource as DataView; if (e.IsGetData) string strVal = dve.ListSourceRowIndexColor.ToString(); if (strVal != ) /e.Value = DevExpress.Utils.StyleLayout.ColorFromString(strVal); e.Value = Common.HexToColor(strVal); else /Color colorVal = DevExpress.Utils.StyleLayout.ColorFromString(e.Value.ToString(); Color colorVal = (Color)e.Value; dve.ListSourceRowIndexColor = Common.RGB_HEX(colorVal.ToArgb(); 四、關于 GridControl 驗證示例/*/ / 初始化GridView,綁定數(shù)據(jù)/ / private void GridViewBindData(string parentId)this.gridView1.Columns.Clear();this.FDs= areaSetupActionHelper.getDsRegionByParentId(parentId);this.gridCArea.DataSource =this.FDs.Tables0.DefaultView; this.gridView1.Columnsid.VisibleIndex = -1; this.gridView1.ColumnschildCounts.VisibleIndex = -1; this.gridView1.Columnsreg_id.Caption = 區(qū)劃編號; this.gridView1.Columnsreg_name.Caption = 區(qū)劃名稱; this.gridView1.Columnsparent_id.Caption = 父區(qū)劃編號; this.gridView1.Columnsreg_desc.Caption = 區(qū)劃描述; this.gridView1.Columnsparent_id.ImageIndex =1; this.gridView1.Columnsreg_desc.ImageIndex = 0; RepositoryItemTextEdit textEditReg_Id = new RepositoryItemTextEdit(); textEditReg_Id.Mask.EditMask =parentId+d2,3; textEditReg_Id.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Regular; this.gridView1.Columnsreg_id.ColumnEdit = textEditReg_Id; this.gridView1.Columnsreg_desc.ColumnEdit = new RepositoryItemMemoExEdit(); TreeListNode node = this.treelArea.FocusedNode.ParentNode; string fid = node=null?0:node.GetValue(RegID).ToString().Trim(); DataSet ds = areaSetupActionHelper.getDsRegionByParentId(fid); RepositoryItemLookUpEdit lookUEParent_Id = new RepositoryItemLookUpEdit(); lookUEParent_Id.Columns.Add(new LookUpColumnInfo(reg_id, 40, 區(qū)劃編號); lookUEParent_Id.Columns.Add(new LookUpColumnInfo(reg_name, 40, 區(qū)劃名稱); lookUEParent_Id.DataSource = ds.Tables0.DefaultView; lookUEParent_Id.ValueMember = reg_id; lookUEParent_Id.DisplayMember = reg_id; this.gridView1.Columnsparent_id.ColumnEdit = lookUEParent_Id;/*/ / gridView單元格驗證的相關處理程序/ / / private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)if (e.Valid = false&this.gridView1.FocusedColumn.FieldName = reg_id) e.ErrorText = 區(qū)劃編號不合法!n應為父區(qū)劃編號加23位數(shù)據(jù)組成!; if (this.gridView1.FocusedColumn.FieldName = reg_name) Regex reg=new Regex(u4e00-u9fa51,20); Match m=reg.Match(e.Value.ToString().Trim(); if (m.Length != e.Value.ToString().Trim().Length) e.Valid = false; e.ErrorText = 區(qū)劃名稱應為漢字n長度為1至20; private void gridView1_InvalidValueException(object sender, InvalidValueExceptionEventArgs e) if (MyDialog.Alert(您所填寫的內容不符合規(guī)則n要放棄您剛才對此項所做的更改嗎?, 您所編輯的內容不符合規(guī)則, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.Yes) e.ExceptionMode = ExceptionMode.Ignore; /*/ / gridView行驗證的相關處理程序/ private void gridView1_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e)string regid = this.gridView1.GetRowCellValue(e.RowHandle, reg_id).ToString().Trim();string regName = this.gridView1.GetRowCellValue(e.RowHandle, reg_name).ToString().Trim();if ( regid.Length 1) e.Valid = false; this.gridView1.SetColumnError(this.gridView1.Columnsreg_id, 請?zhí)顚憛^(qū)劃編號!, DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default); / e.ErrorText = 區(qū)劃名稱不能為空!; if (regName.Length = 0) if (this.gridView1.GetRowCellValue(e.RowHandle, this.gridView1.Columnsreg_id).ToString().Trim() = | this.gridView1.GetRowCellValue(e.RowHandle, this.gridView1.Columnsreg_name).ToString().Trim() = ) if (MyDialog.Alert( 您所填寫的內容不符合規(guī)則n要放棄您剛才對此項所做的更改嗎?, 您所編輯的內容不符合規(guī)則, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.Yes) e.ExceptionMode = ExceptionMode.Ignore; else e.ExceptionMode = ExceptionMode.NoAction; else e.ExceptionMode = ExceptionMode.Ignore; 關于XtraGrid的使用(GridControl小結)來源:51編程網(wǎng)發(fā)布時間:2010-04-19Hits:146DevExpress XtraGrid的使用(AspxGridControl小結) 收藏 自定義焦點行的方法: gridView_bcode.FocusedRowHandle = focuseRowInt; /通過設置GridView 的FocusedRowHandle屬性view plaincopy to clipboardprint?/獲取焦點行任意單元格的數(shù)據(jù) ColumnView cv = (ColumnView)gridControl_Gongzi.FocusedView;/重新獲取此ID 否則無法從表頭連刪獲取不到id int focusedhandle = cv.FocusedRowHandle; object rowIdObj = gridView1.GetRowCellValue(focusedhandle, id); if (DBNull.Value != rowIdObj) FocusedRow_id = Convert.ToInt32(rowIdObj); /獲取焦點行任意單元格的數(shù)據(jù) ColumnView cv = (ColumnView)gridControl_Gongzi.FocusedView;/重新獲取此ID 否則無法從表頭連刪獲取不到id int focusedhandle = cv.FocusedRowHandle; object rowIdObj = gridView1.GetRowCellValue(focusedhandle, id); if (DBNull.Value != rowIdObj) FocusedRow_id = Convert.ToInt32(rowIdObj); view plaincopy to clipboardprint?/當數(shù)據(jù)發(fā)生變化時執(zhí)行 private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e) int intRowHandle = e.RowHandle; FocusedRow_bumen = Convert.ToString(gridView1.GetRowCellValue(intRowHandle, bumen); FocusedRow_xingming = Convert.ToString(gridView1.GetRowCellValue(intRowHandle, xingming); /FocusedRow_jibengongzi = Convert.ToDecimal(gridView1.GetRowCellValue(intRowHandle, jibengongzi); object rowJibengongziObj = gridView1.GetRowCellValue(intRowHandle, jibengongzi); if (DBNull.Value != rowJibengongziObj) FocusedRow_jibengongzi = Convert.ToDecimal(rowJibengongziObj); /當數(shù)據(jù)發(fā)生變化時執(zhí)行 private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e) int intRowHandle = e.RowHandle; FocusedRow_bumen = Convert.ToString(gridView1.GetRowCellValue(intRowHandle, bumen); FocusedRow_xingming = Convert.ToString(gridView1.GetRowCellValue(intRowHandle, xingming); /FocusedRow_jibengongzi = Convert.ToDecimal(gridView1.GetRowCellValue(intRowHandle, jibengongzi); object rowJibengongziObj = gridView1.GetRowCellValue(intRowHandle, jibengongzi); if (DBNull.Value != rowJibengongziObj) FocusedRow_jibengongzi = Convert.ToDecimal(rowJibengongziObj); view plaincopy to clipboardprint?/設置焦點行的焦點單元格的位置 ColumnView view = (ColumnView)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抗敏修復的臨床護理
- 新質生產(chǎn)力科普基地
- 描述新質生產(chǎn)力
- 2025派遣家政服務員勞動合同模板AA
- 2025年股權質押借款合同范本
- 2204湖北千楚傳媒有限公司實驗室檢測員招聘1人筆試參考題庫附帶答案詳解
- 2025年公用設備工程師之專業(yè)知識(暖通空調專業(yè))??碱A測題庫(奪冠系列)
- 2025年職測理論考試106題(附答案)
- 2025年上海崇明區(qū)初三二模語文試題及答案
- 2025魯控環(huán)保科技有限公司招聘20人(山東)筆試參考題庫附帶答案詳解
- 連云港2025年連云港市贛榆區(qū)事業(yè)單位招聘31人筆試歷年參考題庫附帶答案詳解
- 8.1薪火相傳的傳統(tǒng)美德 課件-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 臨沂市羅莊區(qū)興羅資本投資有限公司招聘筆試題庫2025
- 期中試題2024-2025學年人教PEP版英語六年級下冊(含答案)
- 食堂負面清單管理制度
- 2025年安徽省示范高中皖北協(xié)作區(qū)第27屆聯(lián)考 生物學(含解析)
- 地理2024-2025學年人教版七年級地理下冊期末檢測卷
- 2025年度專業(yè)技術人員繼續(xù)教育公需科目考試題(附答案)
- 2025年中考語文《教材字音、字形》梳理
- 2024年上半年教資科目一試題
- 施工員頂崗實習報告范文
評論
0/150
提交評論