How to get a value from a column in a DataView?

后端 未结 4 1212
旧巷少年郎
旧巷少年郎 2021-01-04 23:48

I have a dataview defined as:

DataView dvPricing = historicalPricing.GetAuctionData().DefaultView;

This is what I have tried, but it return

相关标签:
4条回答
  • 2021-01-05 00:27

    You need to use a DataRow to get a value; values exist in the data, not the column headers. In LINQ, there is an extension method that might help:

    string val = table.Rows[rowIndex].Field<string>("GrossPerPop");
    

    or without LINQ:

    string val = (string)table.Rows[rowIndex]["GrossPerPop"];
    

    (assuming the data is a string... if not, use ToString())

    If you have a DataView rather than a DataTable, then the same works with a DataRowView:

    string val = (string)view[rowIndex]["GrossPerPop"];
    
    0 讨论(0)
  • 2021-01-05 00:32

    You need to specify the row for which you want to get the value. I would probably be more along the lines of table.Rows[index]["GrossPerPop"].ToString()

    0 讨论(0)
  • 2021-01-05 00:35

    for anyone in vb.NET:

    Dim dv As DataView = yourDatatable.DefaultView
    dv.RowFilter ="query " 'ex: "parentid = 1 "
    for a in dv
      dim str = a("YourColumName") 'for retrive data
    next
    
    0 讨论(0)
  • 2021-01-05 00:41

    @Marc Gravell .... Your answer actually has the answer of this question. You can access the data from data view as below

    string val = (string)DataView[RowIndex][column index or column name in double quotes] ;
    // or 
    string val = DataView[RowIndex][column index or column name in double quotes].toString(); 
    // (I didn't want to opt for boxing / unboxing) Correct me if I have misunderstood.
    
    0 讨论(0)
提交回复
热议问题