C# dataGridView控制項中加入comboBox控制項及注意事項

來源:互聯網
上載者:User

標籤:datagridview   style   blog   color   os   使用   ar   strong   for   

DataGridViewComboBoxColumn pCombo;        private void Teaching_Add_Load(object sender, EventArgs e)        {                MyDBase DB = new MyDBase(DBUser.sserver,DBUser.DBName, DBUser.suser, DBUser.spasswd);            DataSet DS= DB.GetRecordset("select * from view_teach_tmp");            dataGridView1.DataSource = DS.Tables[0];            pCombo = new DataGridViewComboBoxColumn();            SqlDataReader RD = DB.DBDataReader("select * from expert");            while (RD.Read())            {                string st = RD[0].ToString().Trim() + "." + RD[1].ToString().Trim();                pCombo.Items.Add(st);            }            RD.Close();            dataGridView1.Columns.Add(pCombo);            dataGridView1.Columns[7].HeaderText = "請選擇專家";            DB.DBClose();        }

說明:

    1.dataGridView中添加comboBox控制項利用初始化現成的類DataGridViewComboBoxColumn,本例先把從view_teach_tmp中讀出的資料加到dataGridView1中,然後把初始化的comboBox控制項pCombo加到最後一列,並給標題HeaderText命名。

    2.pCombo控制項中顯示的是expert表中的“編碼.專家姓名”,若要擷取編碼,可用下面的函數GetENo。

string GetENo(string st)        {            int n, i;            string s = "";            n = st.Length;            for (i = 0; i < n; i++)            {                if (st.Substring(i, 1) == ".") return s;                s = s + st.Substring(i, 1);            }            return "-1";        }

    3.調用函數GetENo:

string ENo;
for (int i = 0; i < n; i++)            {                if (dataGridView1.Rows[i].Cells[7].Value == null)                {                    MessageBox.Show("請選擇專家", "錯誤提示", MessageBoxButtons.OK, MessageBoxIcon.Error);                    return;                }                ENo = dataGridView1.Rows[i].Cells[7].Value.ToString();                ENo = GetENo(ENo);            }
    特別說明:

    要判斷pCombo控制項是否全都選值,要使用if (dataGridView1.Rows[i].Cells[7].Value == null),起初使用if (dataGridView1.Rows[i].Cells[7].Value.Tostring().Trim().Length==0)語句,直接報錯,打死都找不出問題所在。


C# dataGridView控制項中加入comboBox控制項及注意事項

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.