Selecting Records (Data Grid/View?) Based on Current Values of Loop Iteration
struggling how dynamically select records view or record set based on values of current loop iteration.
specifically, how code portion commented out after 'foreach (datarow dr in de.rows)' statement below:
namespace otcs_algorithm
{
public partial class form1 : form
{
public form1()
{
int maxentity;
int maxclaims;
int inc = 0;
string connectionstring = @"provider=microsoft.ace.oledb.12.0;data"
+ @" source=c:\ismg_7210\medicalsequencedataanalysisproject\cms_claims_db.accdb";
string tablename = "cms_claims";
string tablename1 = "entities";
string tablename2 = "claims";
string captionent = "number of unique entities: ";
string captionclm = "number of unique claims: ";
string query1 = string.format("select distinct entity_id cms_claims", tablename);
string query2 = string.format("select * cms_claims", tablename);
datatable de = new datatable();
datatable dc = new datatable();
dataset ds = new dataset();
oledbconnection conn = new oledbconnection(connectionstring);
try
{
//open database connection
conn.open();
messagebox.show("dataset filled , connection open");
//fill dataset
//build entities table
oledbdataadapter da = new oledbdataadapter(query1, conn);
da.fill(ds, tablename1);
//build claims table
oledbdataadapter db = new oledbdataadapter(query2, conn);
db.fill(ds, tablename2);
//display record counts in entities , claims tables
maxentity = ds.tables[0].rows.count;
messagebox.show(captionent + maxentity.tostring());
maxclaims = ds.tables[1].rows.count;
messagebox.show(captionclm + maxclaims.tostring());
de = ds.tables[0]; // data table -de- containing distinct entities
dc = ds.tables[1]; // data table -dc- containing claims (event states)
// loop through entities -de- comparing similar state duration , gap other entities
foreach (datarow dr in de.rows)
{
messagebox.show(dr["entity_id"].tostring());
// select datagrida? -dc- dc["entity_id"] = de["entity_id"]
// foreach row in datagrida
// select datagridb? -dc- datagrida["entity_id"]<>dc["entity_id"]
// , datagrida["icd9_subcategory"]=dc["icd9_subcategory"]
// foreach row in datagridb
// state_count=1; dur_diff=datagrida["visit_dur"]-datagridb["visit_dur"];
// gap_diff=datagrida["visit_gap"]-datagridb["visit_gap"];
// output new results table in ms access db: datagrida["entity_id"] /
// datagridb["entity_id"] / state_count / dur_diff / gap_diff
// end foreach on datagridb
// end foreach on datagrida
}
conn.close();
}
catch . . .
following kristin example, can way:
datagrida.datasource = dc.asenumerable().where(x => x.field<string>("entity_id") == dr["entity_id"].tostring()).copytodatatable(); fouad roumieh
Visual Studio Languages , .NET Framework > Visual C#
Comments
Post a Comment