标签: datatable

在具有特定id的数据表中查找行

我在数据表中有两列:

ID, Calls. 
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到Calls的价值where ID = 5

5可以是任何数字,例如它.每行都有一个唯一的ID.

c# datatable datarow

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

如何在LINQ(到数据集)中计算DataTable列的总和?

我刚刚开始阅读LINQ,我想开始将它合并到我的代码中.我知道如何通过"Foreach" - 通过行或通过在特定列上执行compute.sum来计算DataTable列的总和.如何使用LINQ to DataSet进行等效操作?

c# linq datatable sum

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

完成<p:ajax event ="cellEdit">后更新整个<p:dataTable>

一旦编辑了一个单元格,我就很难重新渲染PrimeFaces Datatable.更改一个单元格中的值可能会更改其他单元格中的条目,因此需要刷新整个表格.

这是JSF页面:

<h:form id="testForm">
    <p:outputPanel id="testContainer">

        <p:dataTable id="testTable" value="#{tableBean.data}" var="entry" editable="true" editMode="cell">

            <p:ajax event="cellEdit" listener="#{tableBean.onCellEdit}" update=":testForm:testContainer" />

            <p:column headerText="Col1">  
                <p:cellEditor>
                    <f:facet name="output"><h:outputText value="#{entry.col1}" /></f:facet>
                    <f:facet name="input"><p:inputText value="#{entry.col1}" /></f:facet>
                </p:cellEditor> 
            </p:column>

            <p:column headerText="Col2">
                <p:cellEditor>
                    <f:facet name="output"><h:outputText value="#{entry.col2}" /></f:facet>
                    <f:facet name="input"><p:inputText value="#{entry.col2}" /></f:facet>
                </p:cellEditor>  
            </p:column>

        </p:dataTable>

        <p:commandButton id="refreshButton" value="Redisplay" update="testContainer" />

    </p:outputPanel>                                    
</h:form>
Run Code Online (Sandbox Code Playgroud)

这是支持bean:

@ManagedBean(name = "tableBean", eager = false)
@ViewScoped 
public class TableBean {

    public TableBean() {
        RowData entry = new RowData("a1", "b1");
        entries.add(entry);
        entry = new RowData("a2", "b2");
        entries.add(entry); …
Run Code Online (Sandbox Code Playgroud)

datatable jsf primefaces celleditorlistener

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

将DataTable导出到Excel文件

我有一个包含30多列和6500多行的DataTable.我需要将整个DataTable值转储到Excel文件中.任何人都可以帮助使用C#代码.我需要将每个列值放在一个单元格中.准确地说,我需要Excel文件中DataTable的精确副本.请帮助.

谢谢,Vix

c# asp.net datatable excel export

32
推荐指数
4
解决办法
25万
查看次数

如何使用List <T>填充数据表

如何将列表转换为数据表

[Serializable]
public class Item
{
    public string Name { get; set; }
    public double Price { get; set; }
    public string @URL { get; set; }

    public Item(string Name, string Price, string @URL)
    {
        this.Name = Name;
        this.Price = Convert.ToDouble(Price);
        this.@URL = @URL;
    }

    public override string ToString()
    {
        return this.Name;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过用:

static DataTable ConvertToDatatable(List<Item> list)
{
    DataTable dt = new DataTable();

    dt.Columns.Add("Name");
    dt.Columns.Add("Price");
    dt.Columns.Add("URL");
    foreach (var item in list)
    {
        dt.Rows.Add(item.Name, Convert.ToString(item.Price), item.URL);
    }

    return dt; …
Run Code Online (Sandbox Code Playgroud)

c# datatable ado.net

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

在DataTable中查找值

有没有办法在C#中的DataTable中找到一个值而不进行逐行操作?

该值可以是([columnName] .value的子字符串,以逗号分隔)数据表中的单元格的一部分,并且该值可以出现在该行的任何一列中.

c# datatable

31
推荐指数
3
解决办法
15万
查看次数

如何从DataGridView中的行获取DataRow

我正在使用数据绑定Windows窗体DataGridView.如何从用户选择的行走在DataGridViewDataRowDataTable是它的来源?

c# datatable datagridview winforms

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

DataView.RowFilter与DataTable.Select()对比DataTable.Rows.Find()

考虑以下代码:

Dataview someView = new DataView(sometable)
someView.RowFilter = someFilter;

if(someView.count > 0) {  …. }
Run Code Online (Sandbox Code Playgroud)

有很多文章说Datatable.Select()比使用DataViews更好,但这些文章优于VS2008.

解决:DataView的大型记录集性能不佳之谜 DataRecord与DataView的数据:性能的巨大
差异

谷歌搜索这个主题我发现一些文章/论坛主题提到Datatable.Select()本身是非常错误(不确定)和各种情况下表现不佳.

在msdn 上的这个(Best Practices ADO.NET)主题中,建议如果在数据表上定义了主键,则应使用findows()或find()方法,并使用Datatable.Select().

本文在这里(.NET 1.1)基准所有这三种方法加上一对夫妇更.但是这是针对1.1版的,所以不确定这些是否仍然有效.对此DataRowCollection.Find()的执行优于所有方法,Datatable.Select()优于DataView.RowFilter.

所以我对在数据表中查找行的最佳方法感到困惑.或者没有一种好的方法可以做到这一点,根据场景存在多种解决方案?

.net datatable performance ado.net visual-studio-2008

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

如何将DataTable转换为类Object

我已经开发了一个可以在任何地方返回DataTable的应用程序.

现在我的客户端想要转换(使用服务堆栈使用某些部分),所以我需要在我的应用程序中返回DTO(对象).

我不想更改现有的存储过程,甚至不想尽可能多地使用LINQ(我对LINQ并不太了解).

对于小功能,我可以使用Linq没问题.

我的问题是:我如何改变我DataTable对该类的对象?

示例代码如下

string s = DateTime.Now.ToString();
DataTable dt = new DataTable();

dt.Columns.Add("id");
dt.Columns.Add("name");

for (int i = 0; i < 5000000; i++)
{
    DataRow dr = dt.NewRow();
    dr["id"] = i.ToString();
    dr["name"] = "name" + i.ToString();
    dt.Rows.Add(dr);

    dt.AcceptChanges();
}

List<Class1> clslist = new List<Class1>();

for (int i = 0; i < dt.Rows.Count; i++)
{
    Class1 cls = new Class1();
    cls.id = dt.Rows[i]["id"].ToString();
    cls.name = dt.Rows[i]["name"].ToString();
    clslist.Add(cls);
}

Response.Write(s);
Response.Write("<br>");
Response.Write(DateTime.Now.ToString());
Run Code Online (Sandbox Code Playgroud)

我知道,上面是耗时的,所以我试图找到一个替代解决方案.

有没有其他方法(我猜,LINQ to DataTable),通过它直接将表行转换为DTO …

.net c# linq asp.net datatable

31
推荐指数
3
解决办法
10万
查看次数

将DataTable转换为字典C#

我想知道如何将DataTable转换为Dictionary.我做了这样的事.

using System.Linq;

internal Dictionary<string,object> GetDict(DataTable dt)
{
    return dt.AsEnumerable()
      .ToDictionary<string, object>(row => row.Field<string>(0),
                                row => row.Field<object>(1));
}
Run Code Online (Sandbox Code Playgroud)

但我得到:

System.Data.EnumerableRowCollection不包含'ToDictionary'的定义和最佳扩展方法重载'System.Linq.Parallel.Enumerable.ToDictionary(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComrparer)'有一些无效的争论

我该如何解决这个问题?

谢谢

c# linq datatable dictionary enumerable

31
推荐指数
4
解决办法
7万
查看次数