zoukankan      html  css  js  c++  java
  • dev_gridControl_CheckBox列,全选和全不选功能的实现

    关于一只菜鸟的第一篇博客、请大家多多指教!给予指导和意见!

    无图无真相,效果图如下:

    为了实现在gridcontrol插入一列checkbox,并通过表头的checkbox实现全部选中以及全部不选的效果;

    我参考了很多博客,终于用清爽的代码提炼出了我想要的清晰效果;

    1.  表头的实现:

        用了一个数据模板实现表头文字和checkbox的组合:

        Code呈上:

       

                                                       <dxg:GridControl.Columns>
                                                                <dxg:GridColumn FieldName="全选">
                                                                    <dxg:GridColumn.HeaderTemplate>
                                                                        <DataTemplate>
                                                                            <CheckBox IsChecked="False" Name="SelectAll" Checked="SelectAll_Checked"  Unchecked="SelectAll_Unchecked"                                                                             Content="全选"></CheckBox>
                                                                        </DataTemplate>
                                                                    </dxg:GridColumn.HeaderTemplate>
                                                                </dxg:GridColumn>
                                                            </dxg:GridControl.Columns>
    2、gridcontrol 的数据源的SQL数据库中的一个表,并设置一个名为【check】bit类型的字段,  将这个字段绑定上面设置的模板  "全选"   这一列;
     
      SQL语句如下:
                DataSet ds = DataUtils.DB.GetDataSetFromSQL("select [ID],[check]全选,[Solution_Name]解决方案,[LASTMODIFYUSER]修改人员,[LASTMODIFYTIME]修改时间 from SL_Device_Register_SolutionFlow")
                gridControl4.ItemsSource=ds.Tables[0];
    3、全选和全不选的实现事件:
    (通过表头的:Checked="SelectAll_Checked" Unchecked="SelectAll_Unchecked" 两个事件):
        
      实现的思想就是遍历gridcontrol中的每一个checkbox行;
      Code如下:
       
            private void SelectAll_Checked(object sender, RoutedEventArgs e)
            {
                DataTable dt =(DataTable)gridControl6.ItemsSource;
                int rowsCount = dt.Rows.Count;
                for (int i = 0; i < rowsCount;i++ )
                {  
                    string value=dt.Rows[i]["全选"].ToString();
                    value = "True";
                    dt.Rows[i]["全选"] = value;
                }
            }
    
            private void SelectAll_Unchecked(object sender, RoutedEventArgs e)
            {
                DataTable dt = (DataTable)gridControl6.ItemsSource;
                int rowsCount = dt.Rows.Count;
                for (int i = 0; i < rowsCount; i++)
                {
                    string value = dt.Rows[i]["全选"].ToString();
                    value = "false";
                    dt.Rows[i]["全选"] = value;
                }
            }
    

    这样就实现了咱们想要图中的效果!

    请多多指教!

  • 相关阅读:
    phpcms后台进入地址(包含No permission resources错误)
    phpmyadmin上传大sql文件办法
    ubuntu彻底卸载mysql
    Hdoj 2602.Bone Collector 题解
    一篇看懂词向量
    Hdoj 1905.Pseudoprime numbers 题解
    The Python Challenge 谜题全解(持续更新)
    Hdoj 2289.Cup 题解
    Hdoj 2899.Strange fuction 题解
    Hdoj 2199.Can you solve this equation? 题解
  • 原文地址:https://www.cnblogs.com/1234aa/p/5101589.html
Copyright © 2011-2022 走看看