DevExpress控件使用交流,DevExpress中国社区 售前咨询
当前位置: 首页 > 开发资源 » 使用教程 » 如何解决DevExpress的RepositoryItemCheckEdit多选框不能多选的问题

如何解决DevExpress的RepositoryItemCheckEdit多选框不能多选的问题

作者:pengxl   来源:evget   浏览:Loading...次   发布时间:2012-10-11   评论:0条

近日,在研究功能比较强大的.net第三方控件Developer Express,竟然发现里面的模板列RepositoryItemCheckEdit默认的状态和单选钮一样,虽然我们有时候也很需要这样的功能,但是有时候我们也要有复选按钮的功能,最头疼的莫过于这个东东的教程,帮助啥的全是英文的。所以在求助网上发现没有满意的答案之后,决心自己狠砸单词,终于黄天不负有心人...我觉得好多人一定也在为这个控件的这个功能而发愁,所以觉得应该写些东西,其实就这个动能也没有什么太神秘,只不过找它的属性方法的 时候比较费时间。

首先,先定义一个新列,是个绑定的列:(拿绑定列为例)

gridView1.Columns[10].Caption = "新列1";

RepositoryItemCheckEdit re3 = new RepositoryItemCheckEdit();

gridView1.Columns[10].ColumnEdit = re3;

gridView1.Columns[10].Visible = true;

re3.QueryCheckStateByValue += new DevExpress.XtraEditors.Controls.QueryCheckStateByValueEventHandler(re3_QueryCheckStateByValue);//定义这个事件是关键,因为就靠它了

然后就是我们的关键事件里要写的东西了:

void re3_QueryCheckStateByValue(object sender, DevExpress.XtraEditors.Controls.QueryCheckStateByValueEventArgs e)

{

string val = "";

if (e.Value != null)

{

val = e.Value.ToString();

}

else

{

val = "True";//默认为选中

}

switch (val)

{

case"True":

e.CheckState = CheckState.Checked;

break;

case"False":

e.CheckState = CheckState.Unchecked;

break;

case"Yes":

gotocase"True";

case"No":

gotocase"False";

case"1":

gotocase"True";

case"0":

gotocase"False";

default:

e.CheckState = CheckState.Checked;

break;

}

e.Handled = true;

}

对于新加的列,研究了半天没有什么可以实现的方法,不过最后通过改变Sql语句实现了,不如"select '1' as 新列1 from table1 " 这样不就相当于绑定了嘛,所以说还是可以当绑定列来使用的。

至此,大功完成!就这么简单...有余力的朋友,还可以再看看QueryValueByCheckState事件,它和我上面提的事件是一对的!呵呵

另外

GridControl如果要支持多选,设置Options->OptionSeletion->MultiSelet为true就ok。

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
本文地址:http://www.devexpresscn.com/Resources/Documentation-274.html

评论列表

暂无评论

请谈谈你的看法 请使用IE或者Firefox浏览器,暂不支持Chrome!

昵称 不填则默认为游客评论

DevExpress DXperience DXv2 v12

DevExpress DXperience 下载 download

DevExpress购买、价格、授权

慧都控件网为DevExpress界面控件的中国地区唯一正式授权经销商,正版控件销售公司,授权代理商,经销商及合作伙伴。

电话:400-700-1020
        023-66090381

邮箱:sales@evget.com

>>如何选择正规控件购买渠道