[DevExpress]DevExpress GridView 代码添加按钮

本文详细介绍了如何在DevExpress GridView中通过代码添加不同类型的按钮,包括RepositoryItemButtonEdit、RepositoryItemPopupContainerEdit和RepositoryItemHyperLinkEdit。通过创建和调用相应的方法,实现各种效果,如按钮点击触发的操作及弹出容器等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 创建一个RepositoryItemButtonEdit方法

private  RepositoryItemButtonEdit CreateRepositoryItemButtonEdit(Dictionary<object, string> dicButtons)
        {
            RepositoryItemButtonEdit repositoryBtn = new RepositoryItemButtonEdit();
            repositoryBtn.AppearanceDisabled.Options.UseTextOptions = true;
            repositoryBtn.AppearanceDisabled.TextOptions.HAlignment = HorzAlignment.Near;
            repositoryBtn.AutoHeight = false;
            repositoryBtn.TextEditStyle = TextEditStyles.HideTextEditor;
            repositoryBtn.ButtonsStyle = BorderStyles.UltraFlat;
            repositoryBtn.Buttons.Clear();
            EditorButton btn = null;
            foreach (KeyValuePair<object, string> item in dicButtons)
            {
                btn = new EditorButton();
                btn.Kind = ButtonPredefines.Glyph;
                btn.Caption = item.Value;
                btn.Tag = item.Key;
                repositoryBtn.Buttons.Add(btn);
            }
            return repositoryBtn;
        }

1.2 开始调用

Dictionary<object, string> dicButtons = new Dictionary<object, string>();
            dicButtons.Add("delete", "删除");
            dicButtons.Add("download", "下载");
            RepositoryItemButtonEdit ribeFile = CreateRepositoryItemButtonEdit(dicButtons);
            //ribeFile.ButtonClick += ribeFile_ButtonClick;   //绑定事件
            gcData.RepositoryItems.Add(ribeFile);
            this.Operate.ColumnEdit = ribeFile;

效果如下:
这里写图片描述
2.另外一种方式

RepositoryItemButtonEdit rBtnEdit = new RepositoryItemButtonEdit();
            rBtnEdit.Buttons.Clear();
            rBtnEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
            rBtnEdit.ButtonsStyle = BorderStyles.Default;
            rBtnEdit.Appearance.BackColor = this.ReceivableDate.AppearanceCell.BackColor;
            rBtnEdit.ButtonClick += rBtnEdit_ButtonClick;//绑定事件
            EditorButton btnSet = new EditorButton();
            btnSet.Tag = "set";
            btnSet.Kind = ButtonPredefines.Glyph;
            btnSet.ToolTip = "设置延迟日期";
            btnSet.Caption = "设置";
            rBtnEdit.Buttons.Add(btnSet);
            gcData.RepositoryItems.Add(rBtnEdit);
            this.ReceivableDate.ColumnEdit = rBtnEdit;

效果如下:
这里写图片描述
3.1 创建一个RepositoryItemPopupContainerEdit

protected virtual RepositoryItemPopupContainerEdit CreateRepositoryItemPopupContainerEdit(string caption)
        {
            RepositoryItemPopupContainerEdit repositoryPop = new RepositoryItemPopupContainerEdit();
            //repositoryCalc.AutoHeight = false;
            repositoryPop.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
            return repositoryPop;
        }

3.2 开始调用

//添加按钮
            EditorButton edit = new EditorButton();
            edit.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Plus;
            edit.ToolTip = "添加";//提示
            edit.Tag = "add";

            RepositoryItemPopupContainerEdit ripce = CreateRepositoryItemPopupContainerEdit("标签");
            ripce.PopupControl = this.popTags;            //popupContainerControl控件
            ripce.QueryPopUp += ripce_QueryPopUp;  //弹出控制事件
            ripce.QueryResultValue += ripce_QueryResultValue;     //返回值事件
            ripce.Buttons.Add(edit);
            ripce.ButtonClick += ripce_ButtonClick;   //添加按钮事件
            gcFile.RepositoryItems.Add(ripce);
            this.TagName.ColumnEdit = ripce;   //TagName是GridView的gridColumn列

效果如下:
这里写图片描述
4.1 创建一个RepositoryItemHyperLinkEdit

protected virtual RepositoryItemHyperLinkEdit CreateRepositoryItemHyperLinkEdit(string caption)
        {
            RepositoryItemHyperLinkEdit link = new RepositoryItemHyperLinkEdit();
            link.AutoHeight = false;
            link.TextEditStyle = TextEditStyles.Standard;
            link.ReadOnly = true;
            link.SingleClick = true;
            return link;
        }

4.2 开始调用

RepositoryItemHyperLinkEdit linkSalesMoney = CreateRepositoryItemHyperLinkEdit("销售金额");
             linkSalesMoney.OpenLink += new OpenLinkEventHandler(linkSalesMoney_OpenLink);  //事件
             this.SalesMoney.ColumnEdit = linkSalesMoney;  //绑定

效果如下:
这里写图片描述

转自

在使用DevExpress控件的Gridview进行数据添加时,可以按照以下步骤进行操作: 1. 首先,需要确保已经连接到数据库,并创建好与Gridview所对应的数据表。 2. 接下来,需要使用GridView的DataRows属性来遍历所有行。可以使用循环来逐行遍历,然后获取每行的数据。 3. 对于每一行数据,需要创建一个与数据表对应的Insert SQL命令,将数据插入到数据库中。 4. 在循环中,逐行执行Insert SQL命令,将数据插入到数据库中。 下面是一个简单的示例代码,用于说明如何使用DevExpressGridview将行数据添加到数据库中: using DevExpress.XtraGrid.Views.Grid; using System.Data.SqlClient; private void AddRowsToDatabase() { // 连接到数据库 string connectionString = "YourConnectionString"; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); // 获取GridView的DataRows属性 GridView gridView = gridView1; // 这里假设Gridview的名称为gridView1 for (int i = 0; i < gridView.DataRowCount; i++) { // 获取每一行的数据 object[] rowValues = ((DataRowView)gridView.GetRow(i)).Row.ItemArray; // 创建Insert SQL命令 SqlCommand command = new SqlCommand("INSERT INTO TableName (Column1, Column2, Column3) VALUES (@Value1, @Value2, @Value3)", connection); command.Parameters.AddWithValue("@Value1", rowValues[0]); command.Parameters.AddWithValue("@Value2", rowValues[1]); command.Parameters.AddWithValue("@Value3", rowValues[2]); // 执行Insert SQL命令 command.ExecuteNonQuery(); } // 关闭数据库连接 connection.Close(); } 请注意,以上代码仅为示例,需要根据实际情况进行调整。确保连接字符串正确,以及数据表的列名和参数名称等都正确对应。 希望以上回答能够帮助到您,如有更多疑问,请随时追问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值