繁体   English   中英

将值从数据表实现到datagridview

[英]Implement value from datatable into datagridview

我正在尝试根据附加在医生姓名缩写上的相应数据库值来更改3个单元格的颜色。 换句话说,当医师查看患者时,其细胞背景具有特定的颜色。 数据库“医师”具有三列(医师名称,姓名缩写,颜色)。 以下是一些代码。

void PhysicianColorTreatPrep()

    {
        string ColorQuery = "SELECT * FROM physicians";

        SqlConnection connectionstring = new SqlConnection(constring);

        connectionstring.Open();

        DataTable dsDocColor = new DataTable();
        SqlDataAdapter adapterDocColor = new SqlDataAdapter(ColorQuery, constring);
        adapterDocColor.Fill(dsDocColor);

        foreach (DataGridViewRow row in datagridviewTreatmentPrep.Rows)
        {
            DataRow[] result = dsDocColor.Select("Color WHERE Initials = "+row.Cells["Primary_Onc"].Value.ToString()+"");

            row.Cells["Last_Name"].Style.BackColor =  //Color retrieved from datatable based on datagridview value
            row.Cells["First_Name"].Style.BackColor = //Color retrieved from datatable based on datagridview value
            row.Cells["Primary_Onc"].Style.BackColor = //Color retrieved from datatable based on datagridview value

        }

    }         

@ChetanRanpariya感谢您提出正确的问题。 我设法解决了。 下面是代码。

DataRow[] result = dsDocColor.Select("Initials = '"+row.Cells["Primary_Onc"].Value.ToString()+"'");

            string DocColor = result[0][2].ToString();

            row.Cells["Last_Name"].Style.BackColor = System.Drawing.Color.FromName(DocColor);

            row.Cells["First_Name"].Style.BackColor = System.Drawing.Color.FromName(DocColor);
            row.Cells["Primary_Onc"].Style.BackColor = System.Drawing.Color.FromName(DocColor);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM