206. Giải quyết: Sử dụng sự kiện CellClick của điều khiển DataGridView như sau:207.//CÁC BẠN HỌC CÔNG NGHỆ NET HÃY NHỚ ĐOẠN MÃ NÀY 207.//CÁC BẠN HỌC CÔNG NGHỆ NET HÃY NHỚ ĐOẠN MÃ NÀY
208.private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 209. {
210. //Lấy về vị trí của Hàng và cột đang được chọn 211. //Hai câu lệnh này QUAN TRỌNG các bạn chú ý
212. int Hang = e.RowIndex; //<-> int HangHienTai = dataGridView1.CurrentRow.Index; 213. int Cot = e.ColumnIndex;
214.
215. //Lấy ra vị trí (Hàng và cột) mà bạn chọn
216. string ViTriBanChon = '\n' + "Hàng: " + Hang.ToString() + '\n' + "Cột: " + Cot.ToString(); 217. MessageBox.Show("Vị trí đang chọn: " + ViTriBanChon);
218.
219. //Lấy ra giá trị của ô (Cells) mà bạn chọn
220. string GiaTri = dataGridView1[Cot, Hang].Value.ToString();
221. //Hoặc: string GiaTri = dataGridView1.Rows[Hang].Cells[Cot].Value.ToString(); 222. MessageBox.Show("Ô bạn chọn có giá trị: "+GiaTri);
223. //Giờ các bạn chạy thử xem nào? ^.^ 224. }
225.
226. 5.7. Bắt sự kiện SelectedIndexChanged của cột là combobox227.//Khai báo kiểu cột 227.//Khai báo kiểu cột
228. DataGridViewComboBoxColumn cbcl;
229. private void frmDataGridView_Load(object sender, EventArgs e) 230. {
231. //Đặt một số thuộc tính thông qua Code (sau khi Add các cột vào)
232. dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; 233. 234. ///Đặt số cột 235. //dataGridView1.ColumnCount = 10; 236. //dataGridView1.RowCount = 10; 237.
239. dataGridView1.Columns.Add("clMaSV", "Mã SV"); 240. dataGridView1.Columns.Add("clTen", "Tên"); 241. dataGridView1.Columns.Add("clLop", "Lớp");
242. dataGridView1.Columns.Add("clNgaySinh", "Ngày sinh"); 243. dataGridView1.Columns.Add("clQuequan", "Quê quán"); 244.
245. ///Add thêm một cột vào DataGridView (Chưa có giá trị) 246. dataGridView1.Rows.Add();
247. dataGridView1[0, 0].Value = "M01";
248. dataGridView1[1, 0].Value = "Nguyễn Tuấn Anh"; 249. dataGridView1[2, 0].Value = "Tk4N1";
250. dataGridView1[3, 0].Value = "13-02-1986"; 251. dataGridView1[4, 0].Value = "Hưng Yên"; 252.
253. //Thêm một hàng mới - Cách 2
254. string[] str = new string[5] { "M02", "Nguyễn Thị Bích", "TK4N2", "14-02-1985", "Hưng Yên"}; 255. dataGridView1.Rows.Add(str);
256.
257. ///Phươnng thức Add, remove...Một cột hay hàng 258.
259. ///Lấy giá trị của một ô bất kì: Sự kiên CellClick 260.
261. ///Lấy ra giá trị của một ô và hiển thị nên các textbox 262.
263. ///Lấy sự kiện của cột là Combobox 264.
265. ///---266. //Add thêm một cột là combobox vào 266. //Add thêm một cột là combobox vào
267. string[] Mang = new string[5] { "M01", "M02", "M03", "M04", "M05" }; 268. //
269. cbcl= new DataGridViewComboBoxColumn(); 270. cbcl.HeaderText = "Cột Combobox";
271. cbcl.Items.AddRange(Mang);
272. dataGridView1.Columns.Add(cbcl);//Add vào vị trí cuối cùng (Cột cuối cùng) 273. cbcl.DisplayIndex = 2;
274. //Add+DisplayIndex thì đưa vào vị trí chỉ định <->Insert (nhưng # Insert ở chỗ: chỉ số vẫn là cuối cùng) 275. //Còn hiển thị so ta chỉ định
276.
277. //Add thêm một cột với vị trí chỉ định: Insert 278. cbcl = new DataGridViewComboBoxColumn(); 279. cbcl.HeaderText = "Cột Combobox2";
280. cbcl.Items.AddRange(Mang);
281. dataGridView1.Columns.Insert(0, cbcl); 282. }
283.
284. //---285. //Lây về sự kiện của Combobox (Cột trong DataGridView) 285. //Lây về sự kiện của Combobox (Cột trong DataGridView)
286. ComboBox Combo; 287. int i = 1;
288. void SuKien(object sender, EventArgs e) 289. { 290. string str = Combo.Text; 291. if(i==1) 292. { 293. MessageBox.Show(str); 294. i = 0; 295. } 296. 297. } 298. 299. //Quan trọng
300. private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) 301. {
302. if (e.Control is ComboBox) 303. {
304. Combo = (ComboBox)e.Control;
305. Combo.SelectedIndexChanged += new EventHandler(SuKien); 306. i = 1;
307. }308. 308.
309. }310. 310.
311. //Sự kiện CellClick lấy về giá trị của một Ô
312. private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 313. {
314. int Cot = e.ColumnIndex; 315. int Hang = e.RowIndex;
316. if (dataGridView1[Cot, Hang].Value != null) 317. {
318.
321. }322. //End 322. //End 323. 324. 325. 326. 327. 328.
DEPLOYMENT*** ***