DataTable dt = this.gridctl_bjjh_right.DataSource as DataTable;//这是整个数据源
int handle = this.view_bjjh_right.FocusedRowHandle;//这里是筛选过的dv,可能只有一条
//筛选后勾选第一条,handle=0,但是dt中的第一行还是原始总的数据条数,以上 dv的handle与dt的行数是不一致的
DataRow drView = this.view_bjjh_right.GetDataRow(handle);
string strCLINICID = drView["CLINICID"] == null ? "" : drView["CLINICID"].ToString().Trim();
string strTESTCODE = drView["TESTCODE"] == null ? "" : drView["TESTCODE"].ToString().Trim();
DataRow[] drs = dt.Select(string.Format("CLINICID='{0}' and TESTCODE='{1}'", strCLINICID, strTESTCODE));
if (drs.Length > 0)
{
foreach (DataRow dr in drs)
{
if (dr["Sel"].ToString() == "" || dr["Sel"].ToString() == "0")
{
dr["SEL"] = "1";
}
else
{
dr["SEL"] = "";
}
}
}
private void repositoryItemCheckEdit8_CheckStateChanged(object sender, EventArgs e)
{
DataTable dt = this.gridctl_bjjh_right.DataSource as DataTable;//这是整个数据源
int handle = this.view_bjjh_right.FocusedRowHandle;//这里是筛选过的dv,可能只有一条
//以上 dv的handle与dt的行数是不一致的
DataRow drView = this.view_bjjh_right.GetDataRow(handle);
string strCLINICID = drView["CLINICID"] == null ? "" : drView["CLINICID"].ToString().Trim();
string strTESTCODE = drView["TESTCODE"] == null ? "" : drView["TESTCODE"].ToString().Trim();
DataRow[] drs = dt.Select(string.Format("CLINICID='{0}' and TESTCODE='{1}'", strCLINICID, strTESTCODE));
if (drs.Length > 0)
{
foreach (DataRow dr in drs)
{
if (dr["Sel"].ToString() == "" || dr["Sel"].ToString() == "0")
{
dr["SEL"] = "1";
}
else
{
dr["SEL"] = "";
}
}
}
int iItemNum = 0; List<string> ls = new List<string>();
foreach (DataRow dr1 in dt.Rows)
{
if (dr1["SEL"].ToString() == "1")
{
iItemNum += 1;
string sglcheckid = dr1["CLINICID"].ToString();
if (ls.Contains(sglcheckid))
{
}
else
{
ls.Add(sglcheckid);
}
}
}
this.labelControl已选数量.Text = iItemNum == 0 ? "计数" : string.Format("已选{0}位客户,{1}条结果记录", ls.Count, iItemNum);
}