轉(zhuǎn)帖|其它|編輯:郝浩|2012-10-11 10:37:14.000|閱讀 1163 次
概述:在DevExpress :GridControl常用屬性設(shè)置 (3)中,已經(jīng)說到了2個(gè)代碼片段,現(xiàn)在來看看后面的兩個(gè)片段:
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在DevExpress :GridControl常用屬性設(shè)置 (3)中,已經(jīng)說到了2個(gè)代碼片段,現(xiàn)在來看看后面的兩個(gè)片段:
三、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 = dv[e.ListSourceRowIndex]["Color"].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; dv[e.ListSourceRowIndex]["Color"] = Common.RGB_HEX(colorVal.ToArgb()); } }
四、關(guān)于 GridControl 驗(yàn)證示例
/**//// <summary> /// 初始化GridView,綁定數(shù)據(jù) /// </summary> /// <param name="parentId"></param> private void GridViewBindData(string parentId) { this.gridView1.Columns.Clear(); this.FDs= areaSetupActionHelper.getDsRegionByParentId(parentId); this.gridCArea.DataSource =this.FDs.Tables[0].DefaultView; this.gridView1.Columns["id"].VisibleIndex = -1; this.gridView1.Columns["childCounts"].VisibleIndex = -1; this.gridView1.Columns["reg_id"].Caption = "區(qū)劃編號(hào)"; this.gridView1.Columns["reg_name"].Caption = "區(qū)劃名稱"; this.gridView1.Columns["parent_id"].Caption = "父區(qū)劃編號(hào)"; this.gridView1.Columns["reg_desc"].Caption = "區(qū)劃描述"; this.gridView1.Columns["parent_id"].ImageIndex =1; this.gridView1.Columns["reg_desc"].ImageIndex = 0; RepositoryItemTextEdit textEditReg_Id = new RepositoryItemTextEdit(); textEditReg_Id.Mask.EditMask =parentId+"file://d%7b2,3/}"; textEditReg_Id.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Regular; this.gridView1.Columns["reg_id"].ColumnEdit = textEditReg_Id; this.gridView1.Columns["reg_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ū)劃編號(hào)")); lookUEParent_Id.Columns.Add(new LookUpColumnInfo("reg_name", 40, "區(qū)劃名稱")); lookUEParent_Id.DataSource = ds.Tables[0].DefaultView; lookUEParent_Id.ValueMember = "reg_id"; lookUEParent_Id.DisplayMember = "reg_id"; this.gridView1.Columns["parent_id"].ColumnEdit = lookUEParent_Id; } /**//// <summary> /// gridView單元格驗(yàn)證的相關(guān)處理程序 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e) { if (e.Valid == false&this.gridView1.FocusedColumn.FieldName == "reg_id") { e.ErrorText = "區(qū)劃編號(hào)不合法!\n應(yīng)為父區(qū)劃編號(hào)加2~3位數(shù)據(jù)組成!"; } if (this.gridView1.FocusedColumn.FieldName == "reg_name") { Regex reg=new Regex(@"[\u4e00-\u9fa5]{1,20}"); Match m=reg.Match(e.Value.ToString().Trim()); if (m.Length != e.Value.ToString().Trim().Length) { e.Valid = false; e.ErrorText = "區(qū)劃名稱應(yīng)為漢字\n長(zhǎng)度為1至20"; } } } private void gridView1_InvalidValueException(object sender, InvalidValueExceptionEventArgs e) { if (MyDialog.Alert(" 您所填寫的內(nèi)容不符合規(guī)則\n 要放棄您剛才對(duì)此項(xiàng)所做的更改嗎?", "您所編輯的內(nèi)容不符合規(guī)則", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { e.ExceptionMode = ExceptionMode.Ignore; } } /**//// <summary> /// gridView行驗(yàn)證的相關(guān)處理程序 /// </summary> 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.Columns["reg_id"], "請(qǐng)?zhí)顚憛^(qū)劃編號(hào)!", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default); // e.ErrorText = "區(qū)劃名稱不能為空!"; } if (regName.Length < 1) { e.Valid = false; this.gridView1.SetColumnError(this.gridView1.Columns["reg_name"], "區(qū)劃名稱不能為空!", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default); } } private void gridView1_InvalidRowException(object sender, DevExpress.XtraGrid.Views.Base.InvalidRowExceptionEventArgs e) { if (e.RowHandle >= 0) { if (this.gridView1.GetRowCellValue(e.RowHandle, this.gridView1.Columns["reg_id"]).ToString().Trim() == "" || this.gridView1.GetRowCellValue(e.RowHandle, this.gridView1.Columns["reg_name"]).ToString().Trim() == "") { if (MyDialog.Alert(" 您所填寫的內(nèi)容不符合規(guī)則\n 要放棄您剛才對(duì)此項(xiàng)所做的更改嗎?", "您所編輯的內(nèi)容不符合規(guī)則", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { e.ExceptionMode = ExceptionMode.Ignore; } else { e.ExceptionMode = ExceptionMode.NoAction; } } } else { e.ExceptionMode = ExceptionMode.Ignore; } }
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:小鋒神的博客—博客園