小编Ahm*_*eed的帖子

创建包含多个表的rdlc报告(一对多关系)

所以,我是rdlc的新手(并且实际上报道了).我有一个与另一个表有一对多关系的表,我试图在rdlc报告中将它们表示为每个项目的多个表.

注意:这些表最初是使用Entity Framework代码优先创建的.

这是两个表(和父):

报价模型

现在,通常如果我只有s [Quotation][QuotationItem]s,我只是添加[Quotation]报告顶部的信息,每个信息[QuotationItem]将在表格内的一行中显示(Tablix).

问题是:每个[QuotationItem]有很多[QuotationItemQuantity](目前有三个),他们需要太表示.

所以,我的报告应该是这样的:

报告

但我仍然坚持如何为每个项目(QuotationItem)显示多个表(或列表和表).我在列表中尝试了嵌套的表和表,但这似乎不被允许(我得到一个"详细信息成员只能包含静态内部成员"错误).

我读到了关于子报告的内容,我认为这可能是要走的路,但我不确定如何在这种情况下使用子报告,或者这是否是正确的方法.

注意:正如上面提到的,每个QuotationItem目前有3个数量,但可能会在未来被改变,所以将是巨大的,如果列可以是动态的,但是,这是不是在这一点上的要求.

有什么建议?

.net c# entity-framework report rdlc

8
推荐指数
1
解决办法
3654
查看次数

禁用值旁边的参数名称

我有一个问题,我找不到允许我禁用值旁边的参数名称的设置,在本例中为“name”和“seatsNum”,它们实际上是参数的名称。它们呈灰色,我找不到不显示它们的设置。

问题示例:

问题的例子

visual-studio visual-studio-2022

8
推荐指数
1
解决办法
1867
查看次数

如何在Firestore中查询包含已发送参数的文档?

我在Android中使用新的Cloud Firestore.所以我在firestore中遇到了这个问题.我想查询一个文档,其中包含数组字段中的id.

例如,我有一个文件,在firestore中包含一个整数数组,如下所示: 此搜索

因此,当我有一个id 66940时,我可以获取包含id的文档和其他文档,而不返回不包含id 66940的其他文档.


除了这种方法,我还可以使用id(66940)在文档id中搜索它.我的文件ID格式是这样的:
- 66940_88123
- 12323_66940

我们的想法是,返回其ID中包含66940的文档.我在这里已经阅读了一个解决方案,但我真的不明白如何实现它.

android firebase google-cloud-firestore

7
推荐指数
1
解决办法
1952
查看次数

颜色计数后性能不佳

在将此代码实现到Excel列表中以计算在设置范围内没有颜色的填充单元格后,我遇到了性能不佳的问题:

Function CountCcolor(range_data As Range, criteria As Range) As Long
    Dim datax As Range
    Dim xcolor As Long
    xcolor = criteria.Interior.ColorIndex
    For Each datax In range_data
        If datax.Interior.ColorIndex = xcolor And Not datax.Value = vbNullString Then
           CountCcolor = CountCcolor + 1
        End If
    Next datax
End Function
Run Code Online (Sandbox Code Playgroud)

我也使用这个来计算设定范围内同一页面上的黄色和红色单元格,但它不会像上面那样降低性能:

Function Farbsumme(Bereich As Range, Farbe As Integer)
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In Bereich
        If Zelle.Interior.ColorIndex = Farbe Then
            Farbsumme = Farbsumme + 1
        End If
    Next
End Function …
Run Code Online (Sandbox Code Playgroud)

excel excel-vba excel-formula

7
推荐指数
1
解决办法
103
查看次数

使用VBScript以独占模式打开Excel文件

我有一个简单的问题,但我搜索了这个,找不到任何有用的主题..

我正在开发一个VBScript,它打开一个Excel文件并修改其中的一些内容..所以我正在使用这段代码:

    Set objXLApp = CreateObject("Excel.Application")

    objXLApp.Visible = False
    objXLApp.DisplayAlerts = False

    Set objXLWb = objXLApp.Workbooks.Open(FilePath)
Run Code Online (Sandbox Code Playgroud)

现在,我想要做的是使用一种锁定文件的方式打开Excel文件,并防止用户在脚本打开时打开它(直到它关闭).

更新:

我认为问题以某种方式与Excel实例有关,我尝试执行以下操作(当文件由脚本打开时):

  • 当我手动打开文件(当它由脚本打开时)时,它们都成为单个实例.
  • 当我打开他们都是任何其他Excel文件成为一个实例!并且原始文件(由脚本打开)变得可见!

现在这很奇怪,因为我正在使用CreateObject("Excel.Application")而不是GetObject(, "Excel.Application")

com vbscript excel vba excel-vba dde

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

IEnumerable 不为 null,但在迭代时抛出 NullReferenceException

我有一个 IEnumerable,我在其上运行 foreach。它在 foreach 行的某些情况下抛出空引用异常,它说

ienumerable 引发了“System.NullReferenceException”类型的异常

if (ienumerable != null)
{
    foreach (var item in ienumerable)
    {
        ......
    }
}
Run Code Online (Sandbox Code Playgroud)

我在 foreach 循环之前进行了空检查,并且 iEnumerable 通过了空检查,但是当我在其上运行 foreach 循环时,它会抛出空引用异常。

c# ienumerable foreach nullreferenceexception

6
推荐指数
2
解决办法
2982
查看次数

当 MessageBox 有图标时如何获取其文本?

我正在努力尝试关闭特定的内容MessageBox(如果它根据标题和文本显示)。MessageBox当没有图标时我可以使用它。

IntPtr handle = FindWindowByCaption(IntPtr.Zero, "Caption");
if (handle == IntPtr.Zero)
    return;

//Get the Text window handle
IntPtr txtHandle = FindWindowEx(handle, IntPtr.Zero, "Static", null);
int len = GetWindowTextLength(txtHandle);

//Get the text
StringBuilder sb = new StringBuilder(len + 1);
GetWindowText(txtHandle, sb, len + 1);

//close the messagebox
if (sb.ToString() == "Original message")
{
    SendMessage(new HandleRef(null, handle), WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
}
Run Code Online (Sandbox Code Playgroud)

MessageBox当显示没有像下面这样的图标时,上面的代码工作得很好。

MessageBox.Show("Original message", "Caption");
Run Code Online (Sandbox Code Playgroud)

但是,如果它包含如下所示的图标(来自MessageBoxIcon),则它不起作用;GetWindowTextLength返回 0 并且什么也没有发生。

MessageBox.Show("Original message", "Caption", MessageBoxButtons.OK, …
Run Code Online (Sandbox Code Playgroud)

c# user32 findwindowex

6
推荐指数
1
解决办法
778
查看次数

用于空检查的“ is”类型模式表达式

我可以重构此代码(流行as/null check模式)

var a = b as MyType;
if(a != null) { ... }
Run Code Online (Sandbox Code Playgroud)

..成为一个不错的“ is”类型模式表达式

if(b is MyType a) { ... }
Run Code Online (Sandbox Code Playgroud)

..这很酷...我想...是吗?


但是现在我也在考虑重构

var a = SomeMethod();
if(a != null) { ... }
Run Code Online (Sandbox Code Playgroud)

..成:

if(SomMethod() is MyType a) { ... }
Run Code Online (Sandbox Code Playgroud)

注意:没有,as并且SomeMethod()已经返回MyType。看起来像(伪代码)if(A is A),很容易混淆,不是吗?

第一个重构是合法的,但是第二个呢?我不是要检查自己的IL专家,C#7.0功能对我来说仍然是新的。也许有我尚未发现的问题?

c# c#-7.0

6
推荐指数
1
解决办法
173
查看次数

ByteArray 到 IFormFile

我正在使用 C# 和 Net Core 开发一些 REST API
我的存储库中有一个函数,它接受类型为 的参数IFormFile

public async Task<bool> UploadFile(IFormFile file)
{
    // do some stuff and save the file to azure storage
}
Run Code Online (Sandbox Code Playgroud)

此函数由控制器方法调用,该方法将上传的文件传递给它

public class FileController : Controller
{
    public async Task<IActionResult> UploadDoc(IFormFile file
    {
        // Call the repository function to save the file on azure
        var res = await documentRepository.UploadFile(file);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我有另一个调用外部 API 的函数,该 API 将文件作为字节数组返回。我想使用该repository.UploadFile方法保存这个字节数组,但我无法将字节数组对象转换为IFormFile.
是否可以?

c# file-upload asp.net-core

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

如何解码包含阿拉伯字符的(百分比编码 URL)?

我想转换所有语言的百分比编码 URL,但 vb6 仅支持英语。

我已经测试了以下代码。但它只能转换英文字符:

Private Sub Form_Load()
    THE_ARABIC_URL = "%D8%AF%D8%B4%D9%85%D9%86%DB%8C+%D8%AF%D8%B1+%D8%A7%D8%B9%D9%85%D8%A7%D9%82-2019-12-09+01%3A09%3A00"
    MsgBox URLDecode(THE_ARABIC_URL)
End Sub

Private Function URLDecode(ByVal txt As String) As String
    Dim txt_len As Integer
    Dim i As Integer
    Dim ch As String
    Dim digits As String
    Dim result As String

    result = ""
    txt_len = Len(txt)
    i = 1
    Do While i <= txt_len
        ' Examine the next character.
        ch = Mid$(txt, i, 1)
        If ch = "+" Then
            ' Convert to space character.
            result = result …
Run Code Online (Sandbox Code Playgroud)

vb6 urlencode utf-8

6
推荐指数
1
解决办法
476
查看次数