LookupEdit:
//注意:获取当前选中的值时,不是text,而是EditValue
LookupEdit可以绑定数据表(DataTable)或对象数据组(Object List)作为数据源,下拉窗体可自定显示栏位。
绑定数据源需要设置三个参数:DisplayMember ,ValueMember,DataSource。
DisplayMember:在LookupEdit输入框显示数据的成员名称(或字段名)。如显示客户名称,设置为CustomerName。
ValueMember:取值的成员名称(或字段名),通常是标识下拉窗体内资料行的主键或业务主键。如客户编号,设置为CustomerCode
DataSource:数据源。数据表(DataTable)或对象数据组(Object List)。
//绑定LookupEdit组件的数据源
lookUpEdit1.Properties.DisplayMember = "F_ItemName";
lookUpEdit1.Properties.ValueMember = "F_ItemId";
lookUpEdit1.Properties.DataSource = this.ColorData;//this.ColorData是数据源
不显示表头:Properties.ShowHeader = false
/*************************************************************************************************************************/
树形下拉列表:TreeListLookUpEdit
ViewStyle:设置显示样式(Treelist:树形表格,TreeView:树形)
cmb_TreeView.Properties.DataSource = dataItemIBLL.GetClassifyList(); //绑定数据
cmb_TreeView.Properties.TreeList.KeyFieldName = "F_ParentId";//设置ID 父id
cmb_TreeView.Properties.TreeList.ParentFieldName = "F_ItemId";//设置PreID 子id
cmb_TreeView.Properties.DisplayMember = "F_ItemName"; //要在树里展示的
cmb_TreeView.Properties.ValueMember = "F_ItemId"; //对应的value
设置默认请选择:EditValue=,NullText="请选择"
设置下拉列表显示:Design List,添加Cloums,编辑要显示的信息(主要设置FieldName)
string value=cmb_TreeView.EditValue.ToString();//获取当前选中的值
//设置默认选中值
treeCmb_ParentId.EditValue = dPid;
/*************************************************************************************************************************/
表格:GridControl
根据值显示图标:
1.添加一个imagelist,里面加图片,每个图片是有索引的
2.Columns-点击需要显示图标的列-ColumnEdit-New-Imagecomboboxedit-Items(显示几种图标就添加几个),设置SmallImages=imagelist
设置ImageIndex索引,与Imagelist索引对应,value为你字段的值。ps:假设字段值1要显示imagelist的第一张图片,ImageIndex=0,Value=1。
奇偶行变色:
OptionsView.EnableAppearanceEvenRow = true;
OptionsView.EnableAppearanceOddRow = true;
Appearance.EvenRow.BackColor = Color.FromArgb(150, 237, 243, 254);
Appearance.OddRow.BackColor = Color.FromArgb(150, 199, 237, 204);
自带行搜索:OptionsView-ShowAutoFilterRow-true
禁止列头筛选:OptionsCustomization->AllowFilter 设置为:false
获取选中的值(以对象的方式):
string itemCode=string.Empty;
DataItemEntity getItemSelectRow = (DataItemEntity)gridViewItemDetail.GetFocusedRow();
itemCode=getItemSelectRow.F_ItemCode.ToString();
不可编辑:View->OptionsBehavior->Editable 设置为:false
设置选中行无列选中样式:OptionsSelection-EnableAppearancehideSelectCell=false
选中行颜色:Appearance-FocusedRow-BackColor
默认选中行颜色:Appearance-HideSelectionRow-BackColor
单元格居中:Appearance-Row-TextOptions-Halignment-Center
列标题居中:Appearance-HeaderPanel-TextOptions-HAlignment-Center
隐藏Drag:OptionsView-showGroupPanel=false
自动添加行:
treeList_Btn.DataSource = new BindingList(moduleIBLL.GetButtonList(moduleId));
OptionsBehavior.ReadOnly = false;
OptionsBehavior.Editable = true;//设置为可编辑状态
OptionsView.NewItemRowPosition = Bottom;
/*************************************************************************************************************************/
树形表格:Treelist
获取选中数据:
var list = tree_Company.GetFocusedRow() as CompanyEntity;
companyId = list.F_CompanyId;
this.tvw_ClassItem.ParentFieldName = "F_ParentId";//父节点ID
this.tvw_ClassItem.KeyFieldName = "F_ItemId";//子节点ID,注意的是子节点ID要在父节点ID中,这样才能显示树形
不可编辑:View->OptionsBehavior->Editable 设置为:false
单元格居中:Appearance-Row-TextOptions-Halignment-Center
列标题居中:Appearance-HeaderPanel-TextOptions-HAlignment-Center
三角箭头: OptionsView.ShowIndicator = false; //是否显示Node的指示符面板,就是最左边有个三角箭头。默认为True;
节点添加图片:
1.点击ImageList1,选择“Images”属性,向ImageList1添加图片。
2.点击XtraTreelist,设置以下三个属性:
ColumnsImageList= ImageList1;StateImageList= ImageList1;//这2个设置时,图片与字体有间距
SelectImageList= ImageList1;
3.新增XtraTreelist事件:CustomDrawNodeImages +=ImageList1_CustomDrawNodeImages;
4.以上三个步骤是在设计器中设置的,接下来便在ImageList1_CustomDrawNodeImages事件中写代码,例如
private void ImageList1_CustomDrawNodeImages (object sender, DevExpress.XtraTreeList.CustomDrawNodeImagesEventArgs e){
e.SelectImageIndex = e.Node.Level+1; // e.SelectImageIndex为图片在ImageList中的index
}
点击节点事件: FocusedNodeChanged
设置节点图片:
1.添加Imagelist控件,并向里面添加图片
2. private void treeView_Table_CustomDrawNodeImages(object sender, DevExpress.XtraTreeList.CustomDrawNodeImagesEventArgs e)
{
e.SelectImageIndex = e.Node.Level + 1;
}
设置选中节点:
//记录当前选中节点
TreeListNode node = treeList.FocusedNode;
//重新绑定数据源
treeList.DataSource = dt;
//选中指定行
if (node != null)
{
//根据旧节点找到新节点,有三种方法:
//treeList .FindNodeByID (int nodeID);
//treeList .FindNodeByFieldValue (string fieldName,object CellValue)
//treeList.FindNodeByKeyID(object keyID)
TreeListNode newNode = treeList.FindNodeByKeyID(node["Id"]);
//选中指定行:newNode
//方法一
treeList.FocusedNode = newNode;
//方法二
treeList.SetFocusedNode(newNode);
}
设置复选框:
设置OptionsView.ShowCheckBoxes = true //是否显示
CheckBoxOptionsBehavior.AllowIndeterminateCheckState = true; //设置节点是否有中间状态,即一部分子节点选中,一部分子节点没有选中
///
/// 节点选中前事件
///
///
///
private void treeList_System_BeforeCheckNode(object sender, DevExpress.XtraTreeList.CheckNodeEventArgs e)
{
if (e.PrevState == CheckState.Checked)
{
e.State = CheckState.Unchecked;
}
else
{
e.State = CheckState.Checked;
}
}
///
/// 节点选中后事件
///
///
///
private void treeList_System_AfterCheckNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e)
{
SetCheckedChildNodes(e.Node, e.Node.CheckState);
SetCheckedParentNodes(e.Node, e.Node.CheckState);
}
///
/// 设置子节点状态
///
///
///
private void SetCheckedChildNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, CheckState check)
{
for (int i = 0; i < node.Nodes.Count; i++)
{
node.Nodes[i].CheckState = check;
SetCheckedChildNodes(node.Nodes[i], check);
}
}
///
/// 设置父节点状态
///
///
///
private void SetCheckedParentNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, CheckState check)
{
if (node.ParentNode != null)
{
bool b = false;
CheckState state;
for (int i = 0; i < node.ParentNode.Nodes.Count; i++)
{
state = (CheckState)node.ParentNode.Nodes[i].CheckState;
if (!check.Equals(state))
{
b = !b;
break;
}
}
if (b)
{
node.ParentNode.CheckState = CheckState.Indeterminate;
}
else
{
node.ParentNode.CheckState = check;
}
SetCheckedParentNodes(node.ParentNode, check);
}
}
//获取treeList所有选中节点
List alllBtnNode = treeList.GetAllCheckedNodes();
/*************************************************************************************************************************/
DropDownButton控件
该控件以按钮的形式弹出上下文菜单,
该控件通过DropDownControl属性绑定PopuMenu控件或PopupControlContainer控件。
可以通过该控件的DropDownArrowStyle属性控制下拉箭头的显示模式,
1. 拖一个DropDownButton
2. 拖一个PopMenu
3. 设置DropDownButton的DropDownControl属性为PopMenu
4. 对PopMenu右击,进行Customize(会要求自动创建一个BarManager)
/*************************************************************************************************************************/
下拉框:ComboBoxEdit
不可编辑:Properties-TextEditStyle-DisableTextEditor
/*************************************************************************************************************************/
文本框:TextEdit
//文字提示:
TextEdit.Properties.NullValuePromptShowForEmptyValue = true;
TextEdit.Properties.NullValuePrompt = “我是提示。”;
/*************************************************************************************************************************/