小编Phi*_*ter的帖子

DataGridTemplateColumn的自定义控件

我目前正在尝试创建一个DataGridTemplateColumn可以在我们的许多应用程序中重用的自定义控件.我遇到了一些问题,在自定义控件上获取依赖属性以进行绑定并正确引发属性更改通知.

我目前有从DataGridTemplateColumnxaml 继承的控件如下所示:

<DataGridTemplateColumn x:Class="Controls.DataGridDateColumn"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding SelectedDate}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <Grid FocusManager.FocusedElement="{Binding ElementName=DatePicker}">
                <DatePicker Name="DatePicker" HorizontalAlignment="Left" VerticalAlignment="Center" SelectedDate="{Binding SelectedDate}"/>
            </Grid>
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
Run Code Online (Sandbox Code Playgroud)

而背后的代码看起来像这样

public partial class DataGridDateColumn : DataGridTemplateColumn
{

    public static readonly DependencyProperty SelectedDateProperty = 
        DependencyProperty.Register("SelectedDate", 
        typeof(DateTime?), 
        typeof(DataGridDateColumn),
        new FrameworkPropertyMetadata(null, OnSelectedDateChanged));

    private static void OnSelectedDateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        DataGridDateColumn col = (DataGridDateColumn)d;
        col.SelectedDate = (DateTime?)e.NewValue;
    }

    public DateTime? SelectedDate {
        get { 
            return (DateTime?)GetValue(SelectedDateProperty); 
        }
        set …
Run Code Online (Sandbox Code Playgroud)

c# wpf dependency-properties custom-controls

4
推荐指数
1
解决办法
1740
查看次数

自定义jQuery伪选择器接收未定义的参数

我正在尝试基于我发现的几个不同的教程,为jQuery添加一个自定义伪选择器,目前正在使用v1.8.0.我基本上试图实现不区分大小写:包含选择器.

我目前的化身看起来像这样

$.expr[':'].icontains = function(obj, index, meta, stack){
     return (obj.textContent || obj.innerText || jQuery(obj).text() || '').toLowerCase().indexOf(meta[3].toLowerCase()) >= 0;
};
Run Code Online (Sandbox Code Playgroud)

来自这篇文章.看起来选择器正在初始化,但是当jQuery调用函数时,只定义了obj参数.其余3个参数未定义.

当我将参数记录到控制台时,我看到一个包含2个项目的数组,第一个项目是我的选择器在:icontains调用之前返回的DOM对象,第二个项目是未定义的.

有没有人知道为什么会发生这种情况?

jquery jquery-selectors

3
推荐指数
1
解决办法
1157
查看次数

在VS 2010下将参数传递给RDLC中的子报告

目前,我正在使用ASP.Net 4.0和2010 RDLC设计器在VS 2010中的报告网站上工作.我正在构建的报告类似于Master-detail报告,但我正在尝试使用嵌套表.

我的问题是我正在尝试将主报表中的字段值传递给子报表.表设置看起来像这样:

2表

第一张表:[RecordID,Name,Date,]第二张表:[RecordID,Description,DueDate]

我想要做的是这样一个表:

-------------------
|  Name  |  Date  |
------------------------------------
   |  Description1 |  DueDate      |
------------------------------------
   |  Description2 |  DueDate      |
------------------------------------
| Name2 | Date2 |
-----------------
Run Code Online (Sandbox Code Playgroud)

使用描述和DueDate的条目bieng子报告的一部分.

当我尝试将RecordID作为参数传递给子报表时,我必须在子报表的XML中手动定义,因为我无法在设计器UI中找到允许我向RDLC文件添加报表参数的任何位置,我从主报告中得到一个错误:

An error occurred during local report processing.
Value cannot be null. Parameter name: value 
Run Code Online (Sandbox Code Playgroud)

所以它似乎在它到达子报表加载点之前出错了.

我正在将数据发送到主报告中,如果我从子报表中删除参数,数据就会通过.但是如果我添加参数,报告会抛出错误.

有没有人对可能导致这种情况的原因有任何想法?

asp.net reportviewer rdlc visual-studio-2010

2
推荐指数
1
解决办法
2万
查看次数