DevExpress -GridControl设置复选框及指定列设置复选框//隐藏GridControl表头英文

本文介绍了如何在DevExpress的GridControl中设置复选框,包括根据查询结果设置特定组的勾选状态,以及指定列的复选框不可编辑。同时,文章还展示了如何隐藏GridControl的表头英文,通过设置OptionsView.ShowGroupPanel为false来实现。此外,还提及了使整个GridView不可编辑的方法。

GridControl:

4642c4a077f6bd934ac4dce63bfcac5e4eb.jpg

遍历查询结果,属于当前组的数据设置为勾选状态:

 DevGridControlHelper.BindData(gdcMailGroupUser, dtResult, new int[] { 1, 1, 1, 1, 1, 1, -1});
                    int rowCount = dtResult.Rows.Count;
                    int dtRowCount = dtResult.Rows.Count;
                    for (int i = 0; i < dtRowCount; i++)
                    {
                        if (dtResult.Rows[i][0].ToString().Trim() != ""&&!string.IsNullOrEmpty(sMailGroupId) && sMailGroupId == dtResult.Rows[i][5].ToString())
                        {
                            gdvMailGroupUser.SelectRow(i);
                        }
                    }

 

====================

指定列: 

 private bool ViewFDCMailGroupUserList()
        {
            try
            {
                if (saTableKeys != null && saTableKeys[saTableKeys.Length - 1] == "MAIL_GROUP_ID")
                {
                    string sMailGroupId = saTableKeys[1];
                    //DataTable dt = ListRoutineFDC.ViewFDCMailGroupUserList(sMailGroupId);
                    //DataTable dt = ListRoutineFDC.ViewFDCUserList();
                    DataTable dtResult = new DataTable();
                    dtResult.Columns.Add("USER_ID");
                    dtResult.Columns.Add("USER_DESC");
                    dtResult.Columns.Add("INTLCK_EMAIL_FLAG", typeof(Boolean));//设置该列为复选框
                    dtResult.Columns["INTLCK_EMAIL_FLAG"].DefaultValue = Boolean.FalseString;//默认为false,不选中
                    dtResult.Columns.Add("INTLCK_SMS_FLAG", typeof(Boolean));
                    dtResult.Columns["INTLCK_SMS_FLAG"].DefaultValue = Boolean.FalseString;
                    dtResult.Columns.Add("INTLCK_START_TIME");
                    dtResult.Columns.Add("INTLCK_END_TIME");
                    dtResult.Columns.Add("MAIL_GROUP_ID");

                    ArrayList a_list = new ArrayList();
                    TRSNode in_node = new TRSNode("VIEW_LIST_IN");
                    TRSNode out_node;

                    CommonRoutine.SetInMsg(in_node);
                    in_node.ProcStep = '1';

                    do
                    {
                        out_node = new TRSNode("VIEW_LIST_OUT");

                        if (CommonRoutine.CallService("FDC", "FDC_View_User_List", in_node, ref out_node) == false)
                        {
                            return false;
                        }

                        a_list.Add(out_node);

                        in_node.SetString("NEXT_EVENT_ID", out_node.GetString("NEXT_EVENT_ID"));

                    } while (in_node.GetString("NEXT_EVENT_ID") != "");

                    foreach (object obj in a_list)
                    {
                        out_node = null;
                        out_node = (TRSNode)obj;

                        for (int i = 0; i < out_node.GetList(0).Count; i++)
                        {
                            dtResult.Rows.Add(
                                out_node.GetList(0)[i].GetString("USER_ID"),
                                out_node.GetList(0)[i].GetString("USER_DESC"),
                                out_node.GetList(0)[i].GetString("INTLCK_EMAIL_FLAG") == "Y",//值为Y即选中
                                out_node.GetList(0)[i].GetString("INTLCK_SMS_FLAG") == "Y",
                                out_node.GetList(0)[i].GetString("INTLCK_START_TIME"),
                                out_node.GetList(0)[i].GetString("INTLCK_END_TIME"),
                                out_node.GetList(0)[i].GetString("MAIL_GROUP_ID"));
                        }
                    }
                    dtResult.AcceptChanges();//保存更改,便于界面判断是否有修改
                    DevGridControlHelper.BindData(gdcMailGroupUser, dtResult, new int[] { 1, 1, 1, 1, 1, 1, -1});
                    int rowCount = dtResult.Rows.Count;
                    int dtRowCount = dtResult.Rows.Count;
                    for (int i = 0; i < dtRowCount; i++)
                    {
                        if (dtResult.Rows[i][0].ToString().Trim() != ""&&!string.IsNullOrEmpty(sMailGroupId) && sMailGroupId == dtResult.Rows[i][5].ToString())
                        {
                            gdvMailGroupUser.SelectRow(i);
                        }
                    }
                        return true;
                }
                return false;
            }
            catch (Exception ex)
            {
                CommonFunction.ShowMsgBox(ex.Message);
                return false;
            };
        }

============

设置某一列不能编辑

gdvMailGroupUser.Columns[0].OptionsColumn.AllowEdit = false;

隐藏GridControl表头英文:Options->OptionsView->ShowGroupPanel=false

304d925353954645bc41b0f2cf572159fae.jpg

设置GridView不能编辑:

052de93dbfa8087beb4e72ec3d877498951.jpg

 

转载于:https://my.oschina.net/8824/blog/3089658

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值