Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1060327
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T18:18:39+00:00 2026-05-16T18:18:39+00:00

I have a Datatable that contains a column called Tags, Tags can have values

  • 0

I have a Datatable that contains a column called Tags, Tags can have values such as

row[0] = Tag1
row[1] = Tag1, Tag2
row[2] = Tag2, Tag3
row[3] = Tag1, Tag2, Tag3
row[4] = Tag4, Tag6

and are seperated by comma’s

etc..

I have the value of Tags for the current document and have run a query to select all other documents that have either of the Tags in there row. for example lets say the current document Tags are (Tag1, Tag2, Tag3)

so from the example rows above all the rows above are returned apart from row[4]

Here is the bit i’m lost with, i now want to sort the datatable by how many tags are matched with the current document. so for the example i’ve talked about so far they should be ordered

row[3] = Tag1, Tag2, Tag3
row[1] = Tag1, Tag2
row[2] = Tag2, Tag3
row[0] = Tag1

Not used linq before but was told it could do this.

so far i have

var query = from c in dt.AsEnumerable()
                    orderby c.Field<string>("Tags").CompareTo(dr["Tags"]) ascending
                    select c;
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T18:18:40+00:00Added an answer on May 16, 2026 at 6:18 pm

    I think something like this will fit the bill. Try it out:

    // Here, I construct a simple table for demonstration
    var table = new DataTable();
    var column = table.Columns.Add("Tags", typeof(string));
    table.Rows.Add("Tag1");
    table.Rows.Add("Tag1, Tag2");
    table.Rows.Add("Tag2, Tag3");
    table.Rows.Add("Tag1, Tag2, Tag3");
    table.Rows.Add("Tag4, Tag6");
    
    // The separator is convenient for using the string.Split override
    // that strips empty results
    var separator = new[] { ",", " " };
    
    // For the demo, we'll sort by number of tags matching the third row
    var current = table.Rows[2];
    
    // This splits the string into an array for convenient processing later
    var currenttags = current.Field<string>("Tags")
                             .Split(separator, StringSplitOptions.RemoveEmptyEntries);
    
    // The query splits out each tags field into an array convenient for processing,
    // counts the number of tags contained in the currenttags array,
    // sorts, and then selects the entire row.
    var query = from row in table.AsEnumerable()
                let tags = row.Field<string>("Tags")
                              .Split(separator, StringSplitOptions.RemoveEmptyEntries)
                let count = tags.Count(t => currenttags.Contains(t))
                orderby count descending
                select row;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a DataTable that has a boolean column called [Invalid]. I need to
I have a datatable that has a date column, but I am stumped as
I have a function called FindSpecificRowValue that takes in a datatable and returns the
I have a data tier select method that returns a datatable. It's called from
I have a DataTable that queries out something like below usergroupid...userid......username 1.............1...........John 1.............2...........Lisa 2.............3...........Nathan
Ok. So I am pretty new a this. I have a datatable that I
I have a DataSet with a DataTable that correctly fills a single DataRow through
I have a DataSet which I get a DataTable from that I am being
I have an application that uses DataTables to perform grouping, filtering and aggregation of
I have to delete some rows from a data table. I've heard that it

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.