EASYUI DATAGRID 多列复选框CheckBox

原文地址为: EASYUI DATAGRID 多列复选框CheckBox

主要实现:

用的 easyui 1.3.2

实现多个复选框列,各列互不影响。能够实现全选。主要部门用红色标记了的。

easyui datagrid 初始化:

<script>
function initTableGMAL() { $("#dg_gmal").datagrid({ url: "/Manager/PublishManager/ashx/MALOP.ashx?action=search", idField: 'MAL_ID', fit: false, fitColumns: true, singleSelect: true, width: 637, height: 280, rownumbers: true, nowrap: true, pagination: false, checkOnSelect: false, selectOnCheck: false, columns: [[ { field: 'MAL_ZHName', title: '属性', width: 200, align: 'center' } , { field: 'op1', title: ' 明细中显示:', width: 70, align: 'right' }, { field: 'op11', title: '<input id=\"detailcheckbox\" type=\"checkbox\" >', width: 30, formatter: function (value, rec, rowIndex) { return "<input type=\"checkbox\" name=\"PD\" value=\"" + rec.MAL_ID + "\" >"; } }, { field: 'op2', title: '列表中显示:', width: 70, align: 'right' }, { field: 'op22', title: '<input id=\"listcheckbox\" type=\"checkbox\" >', width: 30, formatter: function (value, rec, rowIndex) { return "<input type=\"checkbox\" name=\"PL\" value=\"" + rec.MAL_ID + "\" >"; } } ]], onLoadSuccess: function () { $("#detailcheckbox").unbind(); $("#listcheckbox").unbind();
$("input[name='PL']").unbind().bind("click", function () { //总记录数 var totolrows = $("input[name='PL']").length; //选中的记录数 var checkrows = $("input[name='PL']:checked").length; //全选 if (checkrows == totolrows) { $("#listcheckbox").attr("checked", 'checked'); } else { $("#listcheckbox").removeAttr("checked"); }
$("#pllist").val(""); var items = $("input[name='PL']:checked"); var result = ""; $.each(items, function (index, item) { result = result + "|" + item.value; }); $("#pllist").val(result); }); $("input[name='PD']").unbind().bind("click", function () { //总记录数 var totolrows = $("input[name='PD']").length; //选中的记录数 var checkrows = $("input[name='PD']:checked").length; if (checkrows == totolrows) { $("#detailcheckbox").attr("checked", 'checked'); } else { $("#detailcheckbox").removeAttr("checked"); } $("#pdlist").val(""); var items = $("input[name='PD']:checked"); var result = ""; $.each(items, function (index, item) { result = result + "|" + item.value; }); $("#pdlist").val(result); }); //全选 $("#detailcheckbox").click(function () { if ($(this).attr('checked') == 'checked') { $("input[name='PD']").attr("checked", 'checked'); } else { $("input[name='PD']").removeAttr("checked"); } $("#pdlist").val(""); var items = $("input[name='PD']:checked"); var result = ""; $.each(items, function (index, item) { result = result + "|" + item.value; }); $("#pdlist").val(result); }); $("#listcheckbox").click(function () { if ($(this).attr('checked') == 'checked') { $("input[name='PL']").attr("checked", 'checked'); } else { $("input[name='PL']").removeAttr("checked"); } $("#pllist").val(""); var items = $("input[name='PL']:checked"); var result = ""; $.each(items, function (index, item) { result = result + "|" + item.value; }); $("#pllist").val(result); }); } }); }

 </script>

保存选中的行:

<div style="padding: 15px; overflow: hidden">
    <form id="f_package_general" method="post">

        <table class="tableForm" style="width: 100%; margin-left: 2px;">
     
            <tr>
                <td style="width: 80px;">显示配置:</td>
                <td colspan="3" style="height: 280px;">
                    <table id="dg_gmal">
                    </table>
                </td>
            </tr>
        </table>
        <input type="hidden" id="pdlist" name="pdlist" value="">
        <input type="hidden" id="pllist" name="pllist" value="">
       
    </form>
</div>

 


转载请注明本文地址: EASYUI DATAGRID 多列复选框CheckBox
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在WPF中使用DataGrid实现筛选可以通过以下步骤进行操作: 1. 创建一个DataGrid控件并绑定数据源,例如一个ObservableCollection对象。 2. 为DataGrid头部创建筛选器控件,可以使用ComboBox、TextBox或者其他适合的控件类型。可以为每一头部创建一个筛选器控件,也可以在一个指定的位置创建一个通用的筛选器控件。 3. 在筛选器控件中做相应的改动来筛选网格中的数据。例如,在ComboBox控件中提供选项供用户选择,或是在TextBox中输入的文字来进行筛选操作。 4. 在筛选器控件的值改动时,使用筛选条件对数据源中的数据进行过滤操作。可以使用LINQ表达式或者其他筛选技术来完成这一步骤。 5. 可以通过绑定筛选器控件的SelectedValue属性或者TextChanged事件来实时触发筛选操作。 6. 在筛选数据后,更新DataGrid的显示结果,例如重新绑定数据源或者手动更改DataGrid的ItemsSource属性。 7. 在需要的时候,可以为DataGrid添加分页功能,使得用户可以翻页浏览筛选后的数据。 以上仅为基本步骤,具体实现操作可以根据不同的需求和情况进行调整。希望以上回答对您有帮助! ### 回答2: 在WPF中,使用DataGrid可以实现筛选的功能。要实现筛选,可以按照以下步骤进行: 1. 在XAML文件中创建一个DataGrid,并定义需要显示的。 ```xaml <DataGrid x:Name="MyDataGrid"> <DataGrid.Columns> <DataGridTextColumn Header="姓名" Binding="{Binding Name}" /> <DataGridTextColumn Header="年龄" Binding="{Binding Age}" /> <DataGridTextColumn Header="性别" Binding="{Binding Gender}" /> </DataGrid.Columns> </DataGrid> ``` 2. 在代码中为DataGrid添加筛选功能。可以使用TextBox和按钮来实现筛选功能。 ```csharp private void FilterButton_Click(object sender, RoutedEventArgs e) { // 获取筛选条件 string filterText = FilterTextBox.Text; // 创建一个CollectionView ICollectionView view = CollectionViewSource.GetDefaultView(MyDataGrid.ItemsSource); // 添加筛选条件 view.Filter = item => { // 判断是否满足筛选条件 if (item is YourDataType data) { return data.Name.Contains(filterText) || data.Age.ToString().Contains(filterText) || data.Gender.Contains(filterText); } return false; }; // 刷新DataGrid view.Refresh(); } ``` 3. 在XAML中创建TextBox和按钮,并绑定对应的事件处理程序。 ```xaml <StackPanel> <TextBox x:Name="FilterTextBox" Width="200" /> <Button Content="筛选" Click="FilterButton_Click" /> </StackPanel> ``` 这样,当用户输入筛选条件,并点击筛选按钮时,DataGrid会根据条件对数据进行筛选,并只显示满足条件的行。 ### 回答3: WPF(Windows Presentation Foundation)是一种用于创建可视化Windows应用程序的框架。DataGrid是WPF中一个常用的控件,用于在界面上显示和编辑数据。 要实现筛选,可以使用DataGrid中的内置功能和一些自定义代码。以下是一种实现方式: 1. 首先,在XAML文件中定义一个DataGrid控件,并设置AutoGenerateColumns属性为False,这样可以手动定义DataGrid。 2. 在每个的HeaderTemplate中添加一个TextBox控件,用于接收用户输入的筛选条件。 3. 在代码-behind中,使用DataGrid的AutoGeneratingColumn事件来为每个添加一个过滤器。 4. 在过滤器中,获取用户输入的筛选条件,并根据条件过滤DataGrid中的数据。 以下是一个简单的实例代码: XAML文件: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <DataGrid x:Name="dataGrid" AutoGenerateColumns="False" ItemsSource="{Binding Data}"> <DataGrid.Columns> <DataGridTextColumn Header="Name"> <DataGridTextColumn.HeaderTemplate> <DataTemplate> <TextBox TextChanged="Filter_TextChanged" /> </DataTemplate> </DataGridTextColumn.HeaderTemplate> </DataGridTextColumn> <!-- 添加其他 --> </DataGrid.Columns> </DataGrid> </Window> 代码-behind文件: public partial class MainWindow : Window { public ObservableCollection<DataItem> Data { get; set; } public MainWindow() { InitializeComponent(); Data = new ObservableCollection<DataItem>(); // 添加数据到Data集合中 dataGrid.ItemsSource = Data; dataGrid.AutoGeneratingColumn += DataGrid_AutoGeneratingColumn; } private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) { // 为每个添加过滤器 e.Column.HeaderTemplate = (DataTemplate)FindResource("FilterColumnHeaderTemplate"); } private void Filter_TextChanged(object sender, TextChangedEventArgs e) { // 获取筛选条件 var input = ((TextBox)sender).Text; // 根据条件过滤DataGrid中的数据 dataGrid.ItemsSource = Data.Where(item => item.Name.Contains(input)); } } DataItem类是一个简单的数据模型,具有Name等属性。 此实现方式允许用户通过输入文本框中的条件来筛选DataGrid中的。根据输入的条件,将仅显示满足条件的数据。可以按需添加更多的以及适合的筛选条件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值