问题列表 - 第15669页

如何使用NULL将DataTable按2列排序,可能使用LINQ?

我有一个ADO.Net数据表,我需要首先按column1然后按column2排序,其中任何一个都可能有空值.排序后,我需要从行中读取一些值并添加到列表视图中.

我编写了代码来执行此DataTable.DefaultView.Sort(运行两次).但想知道是否有更好的方法.

我在想LINQ ......所以我试过了:

OrderedEnumerableRowCollection<DataRow> queryX = dt.AsEnumerable()
            .OrderBy(c => c.Field<int?>("column1"))
            .ThenBy(c => c.Field<int?>("column2"));
Run Code Online (Sandbox Code Playgroud)

但这个错误随之而来"System.InvalidCastException was unhandled".我假设这是由NULL引起的,所以就像我在数据表上指定查询的测试一样"where column1 IS NOT NULL",错误仍然发生.

我的LINQ经验并不多,所以我的问题是:

  • 上面的代码有什么不对?从概念上讲,我错过了LINQ的工作原理吗?
  • 为什么过滤掉Null仍会导致这种情况?再说一次,从概念上讲,我错过了LINQ的工作原理
  • 有没有更好的\正确的LINQ查询,这将是什么?
  • 是否有更好的\更正确(更优雅)的方式(使用LINQ或不使用LINQ)?

TEP

c# linq sorting datatable

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

将Catalyst应用程序部署到生产服务器的最佳实践是什么?

将Catalyst应用程序部署到生产服务器的好方法是什么?目前我只是在存储库的根目录中有一个FastCGI调度脚本,当我想更新服务器代码时,我将分支推送到服务器.这很简单,但并不完美.如果代码在服务器计算机上的测试失败(例如由于不满意的依赖关系),我将留下破坏的应用程序.如何部署Catalyst应用程序?你有更好的方法吗?

perl catalyst

9
推荐指数
1
解决办法
1472
查看次数

Django Trunk稳定性

Django主干的稳定性如何?

我今天通过更新我的Django主干来解决这个问题:

    403 Forbidden

    CSRF verification failed. Request aborted.

    More information is available with DEBUG=True.

django

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

如何从Perl中的HTML表中提取数据?

可能重复:
您能提供一个用您喜欢的解析器解析HTML的示例吗?
如何使用Perl从HTML文件中提取内容?


我正在尝试在Perl中使用正则表达式来解析具有以下结构的表.第一行如下:

<tr class="Highlight"><td>Time Played</a></td><td></td><td>Artist</td><td width="1%"></td><td>Title</td><td>Label</td></tr>
Run Code Online (Sandbox Code Playgroud)

在这里,我希望取出"Time Played","Artist","Title"和"Label",并将它们打印到输出文件中.

任何帮助都会受到极大的折磨!

对不起......我尝试了很多正则表达式,例如:

$lines =~ / (<td>) /
       OR
$lines =~ / <td>(.*)< /
       OR
$lines =~ / >(.*)< /
Run Code Online (Sandbox Code Playgroud)

我当前的程序看起来像这样:

#!perl -w

open INPUT_FILE, "<", "FIRST_LINE_OF_OUTPUT.txt" or die $!;

open OUTPUT_FILE, ">>", "PLAYLIST_TABLE.txt" or die $!;

my $lines = join '', <INPUT_FILE>;

print "Hello 2\n";

if ($lines =~ / (\S.*\S) /) {
print "this is 1: \n";
print $1;
    if ($lines =~ / <td>(.*)< / ) {
    print "this is …
Run Code Online (Sandbox Code Playgroud)

html perl parsing

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

IE中的页面如何在Cassini和IIS7之间呈现不同的变化?

我完全糊涂了 - 我有一个网站,当通过Cassini(在Visual Studio中)运行时在IE8中呈现完美,但在部署到localhost并通过相同的浏览器(IE8)查看时有几个混乱的元素(样式/外观).

我在html和CSS文件上运行了Beyond Compare 3,它们完全相同.在任何情况下IIS7都可以以某种方式向浏览器发送额外/不同的信息吗?以前有没有人碰过这样的事情?

请注意,Chrome和Firefox都可以通过Cassini和IIS7轻松呈现相同的网页.

(更新)如果按F12,IE8开发者工具会认为您处于哪种浏览器模式和文档模式?

当从Cassini(http:// localhost:22120)运行时,IE8保持IE8模式(带有打开IE7兼容性视图的选项),一切看起来都很棒.

当从IIS7(http:// {机器名称})运行时,IE8自动进入IE8 Compat View,IE7标准和事情看起来很糟糕.

iis-7 cassini internet-explorer-8

13
推荐指数
2
解决办法
6712
查看次数

C#Count()扩展方法性能

如果在具有属性的Count()情况下调用LINQ 扩展方法(例如),该方法是否查找该属性并将其返回(而不是通过枚举它来计算项目)?以下测试代码似乎表明它确实:IEnumerable<T>CountList<T>Count()

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;

namespace CountSpeedTest
{
    // Output:
    // List      - CLR : 0 ms
    // Enumerate - CLR : 10 ms
    // List      - Mine: 12 ms
    // Enumerate - Mine: 12 ms
    class Program
    {
        private const int Runs = 10;
        private const int Items = 1000000;

        static void Main(string[] args)
        {
            var total = new long[] {0, 0, 0, 0};
            for (int …
Run Code Online (Sandbox Code Playgroud)

c# linq extension-methods count

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

使用Powershell执行权限更改ala chmod/attrib

我想这样做的相当于chmod -w+r-x fooattrib +R foo在Windows PowerShell.Putzing的时候,我注意到一个相当粗糙的Set-Acl功能,看起来显著比我需要的票友.

如何attrib +R foo在Windows Powershell中执行此操作?

permissions powershell

5
推荐指数
1
解决办法
5873
查看次数

PHP + MySQL探查器

你知道vBulletin在调试模式下有一个sql profiler吗?我如何为自己的Web应用程序构建一个?它是用程序PHP构建的.

谢谢.

mysql profiling

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

UpdatePanel启动脚本未执行

我正在编写一个ASP.NET webpart用于SharePoint站点并尝试使用UpdatePanel来呈现查询结果.我想使用JQuery插件来修改从异步回发返回的表,但是我无法在异步udpate上执行启动脚本.

我发现这篇帖子表明UpdatePanel不会在启动脚本上执行eval(); 相反,您必须使用ScriptManager注册启动脚本块.这一切都有意义,直到它不起作用.在MSDN参考文档似乎同意与那里采取的办法.

我的控制时间太长,无法完全发布,但这里是一个精简的表示,我认为它涵盖了任何相关内容.原谅我,如果下面的粘贴中缺少控件 - 我不得不删除一些部件,可能会有一些悬垂的触手,可以这么说.以下是webpart的代码,与加载用户控件(.ascx)的SmartPart不同.

如您所见,我正在使用ScriptManager.RegisterStartupScript方法.我尝试了两种重载; 一次用于Page,一次用于更新面板中的ListView(重命名为"AspListView").在这两种情况下,启动脚本都不会在异步更新上执行,而我却为此感到茫然.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;

namespace MyNamespace
{
    using AspListView = System.Web.UI.WebControls.ListView;

    [Guid("601b3bdb-ed2a-4ec8-8a40-c37de8ab048d")]
    public class ListSearch : StaticTemplateWebPart
    {
        private AspListView resultsList;

        public ListSearch()
        {
        }

        protected override void CreateChildControls()
        {            
            base.CreateChildControls();

            ScriptLink.Register(Page, "jquery-1.3.2.js", false);
            ScriptLink.Register(Page, "jquery-ui-1.7.2.custom.min.js", false);
            ScriptLink.Register(Page, "jquery.timepickr.js", false);
            ScriptLink.Register(Page, "jquery.quicksearch.js", false);

            string scriptBlock …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net ajax updatepanel

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

Clojure:使用索引为向量中的每个元素调用一个函数

说我有一个矢量:

(def data ["Hello" "World" "Test" "This"])
Run Code Online (Sandbox Code Playgroud)

我想在一个有api的地方填充一张桌子:

(defn setCell
  [row col value]
  (some code here))
Run Code Online (Sandbox Code Playgroud)

那么获得以下调用的最佳方法是什么:

(setCell 0 0 "Hello")
(setCell 0 1 "World")
(setCell 0 2 "Test")
(setCell 0 3 "This")
Run Code Online (Sandbox Code Playgroud)

我发现以下内容可行:

(let [idv (map vector (iterate inc 0) data)]
  (doseq [[index value] idv] (setCell 0 index value)))
Run Code Online (Sandbox Code Playgroud)

但是有没有更快的方法不需要新的临时数据结构idv?

loops vector clojure

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