winform:datagridview筛选与选择 素颜马尾好姑娘i 2022-03-19 09:10 833阅读 0赞 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b3lpa3Vu_size_16_color_FFFFFF_t_70] using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CCWin; namespace ESignature { public partial class Form1 : CCSkinMain { static string[] m_arrPorject = new string[] { "项目1", "项目2", "项目3" }; private List<string> m_listProject = new List<string>(m_arrPorject); List<SignItem> m_listWait = new List<SignItem>(); Dictionary<int, int> m_dicRowId = new Dictionary<int, int>(); List<SignItem> m_listHaveSign = new List<SignItem>(); List<SignItem> m_listFailSign = new List<SignItem>(); public Form1() { InitializeComponent(); DataInit(); PanelInit(); } public void DataInit() { m_listProject.Insert(0, "选择所属项目"); InsertPorjectCom(skinComboBoxWait, m_listProject); InsertPorjectCom(CbHaveSign, m_listProject); InsertPorjectCom(CbFailSign, m_listProject); //InsertPorjectCom(skinComboBox1, m_listProject); SignItemDataInit(m_listWait); SignItemDataInit(m_listHaveSign); SignItemDataInit(m_listFailSign); } public void PanelInit() { WaitGridUpdate(""); HaveSignUpdate(""); FailSignUpdate(""); //WaitAddCheck(); } void SignItemDataInit(List<SignItem> list) { SignItem it0 = new SignItem(); it0.id = 0; it0.projectName = "项目1"; it0.approvalName = "电器"; it0.creator = "小张"; it0.date = DateTime.Now.ToString(); it0.state = 1; list.Add(it0); SignItem it1 = new SignItem(); it1.id = 1; it1.projectName = "项目2"; it1.approvalName = "电器"; it1.creator = "小张"; it1.date = DateTime.Now.ToString(); it1.state = 0; list.Add(it1); SignItem it2 = new SignItem(); it2.id = 2; it2.projectName = "项目3"; it2.approvalName = "电器"; it2.creator = "小张"; it2.date = DateTime.Now.ToString(); it2.state = 1; list.Add(it2); } public void InsertPorjectCom(ComboBox cb, List<string> list) { cb.DataSource = list.ToList(); } /// <summary> /// 批量签章 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void skinButton1_Click(object sender, EventArgs e) { string selectRows = ""; for (int i = 0; i < GridWait.Rows.Count ; i++) //循环datagridview每行 { if ((bool)GridWait.Rows[i].Cells[0].EditedFormattedValue == true) { selectRows = selectRows + "[" + m_dicRowId[i] + "]"; } } MessageBox.Show("Selected id:" + selectRows, "CheckBoxRows"); } /// <summary> /// 刷新批量签章 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnRefeshWait_Click(object sender, EventArgs e) { } void FailSignUpdate(string projectName) { m_dicRowId.Clear(); int cnt = 0; for (int i = GridFailSign.RowCount - 1; i >= 0; i--) { GridFailSign.Rows.Remove(GridFailSign.Rows[i]); } foreach (var u in m_listFailSign)//遍历查询出来的数据 { if (projectName == u.projectName || projectName == "") { m_dicRowId[cnt] = u.id; cnt++; DataGridViewRow row = new DataGridViewRow(); DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell(); textboxcell.Value = u.projectName; row.Cells.Add(textboxcell); DataGridViewTextBoxCell textboxcel2 = new DataGridViewTextBoxCell(); textboxcel2.Value = u.approvalName; row.Cells.Add(textboxcel2); DataGridViewTextBoxCell textboxcel4 = new DataGridViewTextBoxCell(); textboxcel4.Value = u.creator; row.Cells.Add(textboxcel4); DataGridViewTextBoxCell textboxcel5 = new DataGridViewTextBoxCell(); textboxcel5.Value = u.date; row.Cells.Add(textboxcel5); DataGridViewButtonCell textboxcel6 = new DataGridViewButtonCell(); textboxcel6.Value = "重新签章"; row.Cells.Add(textboxcel6); DataGridViewButtonCell textboxcel7 = new DataGridViewButtonCell(); textboxcel7.Value = "查看文件"; row.Cells.Add(textboxcel7); GridFailSign.Rows.Add(row); } } } void HaveSignUpdate(string projectName) { m_dicRowId.Clear(); int cnt = 0; for (int i = GradHaveSign.RowCount - 1; i >= 0; i--) { GradHaveSign.Rows.Remove(GradHaveSign.Rows[i]); } foreach (var u in m_listHaveSign)//遍历查询出来的数据 { if (projectName == u.projectName || projectName == "") { m_dicRowId[cnt] = u.id; cnt++; DataGridViewRow row = new DataGridViewRow(); DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell(); textboxcell.Value = u.projectName; row.Cells.Add(textboxcell); DataGridViewTextBoxCell textboxcel2 = new DataGridViewTextBoxCell(); textboxcel2.Value = u.approvalName; row.Cells.Add(textboxcel2); DataGridViewTextBoxCell textboxcel4 = new DataGridViewTextBoxCell(); textboxcel4.Value = u.creator; row.Cells.Add(textboxcel4); DataGridViewTextBoxCell textboxcel5 = new DataGridViewTextBoxCell(); textboxcel5.Value = u.date; row.Cells.Add(textboxcel5); DataGridViewButtonCell textboxcel6 = new DataGridViewButtonCell(); textboxcel6.Value = "详情"; row.Cells.Add(textboxcel6); GradHaveSign.Rows.Add(row); } } } private void WaitGridUpdate(string projectName) { m_dicRowId.Clear(); int cnt = 0; for (int i = GridWait.RowCount-1; i >= 0 ; i--) { GridWait.Rows.Remove(GridWait.Rows[i]); } foreach (var u in m_listWait)//遍历查询出来的数据 { if (projectName == u.projectName || projectName == "") { m_dicRowId[cnt] = u.id; cnt++; DataGridViewRow row = new DataGridViewRow(); DataGridViewCheckBoxCell comboxcell = new DataGridViewCheckBoxCell(); row.Cells.Add(comboxcell); DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell(); textboxcell.Value = u.projectName; row.Cells.Add(textboxcell); DataGridViewTextBoxCell textboxcel2 = new DataGridViewTextBoxCell(); textboxcel2.Value = u.approvalName; row.Cells.Add(textboxcel2); DataGridViewTextBoxCell textboxcel3 = new DataGridViewTextBoxCell(); switch (u.state) { case 0: textboxcel3.Value = "进行中"; break; case 1: textboxcel3.Value = "已完成"; break; default: break; } row.Cells.Add(textboxcel3); DataGridViewTextBoxCell textboxcel4 = new DataGridViewTextBoxCell(); textboxcel4.Value = u.creator; row.Cells.Add(textboxcel4); DataGridViewTextBoxCell textboxcel5 = new DataGridViewTextBoxCell(); textboxcel5.Value = u.date; row.Cells.Add(textboxcel5); DataGridViewButtonCell textboxcel6 = new DataGridViewButtonCell(); textboxcel6.Value = "详情"; row.Cells.Add(textboxcel6); if (u.state == 1) { DataGridViewButtonCell textboxcel7 = new DataGridViewButtonCell(); textboxcel7.Value = "一键签章"; row.Cells.Add(textboxcel7); } GridWait.Rows.Add(row); } } } private void skinDataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 ) { DataGridViewColumn column = GridWait.Columns[e.ColumnIndex]; switch (e.ColumnIndex) { case 6: //MessageBox.Show("查看 id" + m_dicWait[e.RowIndex] + "详情"); //System.Diagnostics.Process.Start("http://www.baidu.com"); //连接 string url = "http://www.baidu.com"; //定义脚本 string script = @"<script language='javascript' type='text/javascript'> function openUrl(url){ window.open(url,'测试窗口','width=600px,height=600px,directories=true,location=false,menubar=false,resizeable=true,scrollbars=yes,toolbar=false '); }</script>"; WebBrowser wb = new WebBrowser(); wb.DocumentText = @"<html> <head>" + script + "</head><body></body></html>";//定义WebBrowser中的DOM文档 wb.DocumentCompleted += delegate { //执行脚本函数 wb.Document.InvokeScript("openUrl", new object[] { url }); }; break; case 7: MessageBox.Show("一键签章" + m_dicRowId[e.RowIndex]); break; default: break; } } } void WaitAddCheck() { DataGridViewCheckBoxColumn columncb = new DataGridViewCheckBoxColumn(); columncb.HeaderText = "选择"; columncb.Name = "cb_check"; columncb.TrueValue = true; columncb.FalseValue = false; columncb.DataPropertyName = "IsChecked"; GridWait.Columns.Insert(0, columncb); //添加的checkbox在第一列 } private void GridWait_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { } private void GridWait_DataError(object sender, DataGridViewDataErrorEventArgs e) { if (GridWait.Rows[e.RowIndex].IsNewRow) return; } private void skinComboBoxWait_SelectedIndexChanged(object sender, EventArgs e) { switch (skinComboBoxWait.Text) { case "选择所属项目": WaitGridUpdate(""); break; default: WaitGridUpdate(skinComboBoxWait.Text); break; } } private void CbHaveSign_SelectedIndexChanged(object sender, EventArgs e) { switch (CbHaveSign.Text) { case "选择所属项目": HaveSignUpdate(""); break; default: HaveSignUpdate(CbHaveSign.Text); break; } } private void GradHaveSign_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void CbFailSign_SelectedIndexChanged(object sender, EventArgs e) { switch (CbFailSign.Text) { case "选择所属项目": HaveSignUpdate(""); break; default: HaveSignUpdate(CbFailSign.Text); break; } } } public class SignItem { public int id; public string projectName; public string approvalName; public int state; public string creator; public string date; } } [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b3lpa3Vu_size_16_color_FFFFFF_t_70]: /images/20220319/b09f59abdf3d4baa97ebd91e0ae39c76.png
还没有评论,来说两句吧...