首页 > 代码库 > 通用选择窗体
通用选择窗体
做一个程序下来,为了伺候好客户老爷子,基本上是把手输的都用选择代替。因此写一个通用的选择窗体很有必要。
如下,做了个简易的窗体。
里面代码如下,没什么难的。基本的注释也有。
public partial class SelectForm : Form { public string ReturnStr = "", ColumnValuehttp://www.mamicode.com/= "", sql = ""; int ColumnIndex; DataTable dt = null; /// <summary> /// /// </summary> /// <param name="sql">sql语句</param> /// <param name="ColumnValue">返回值的列名</param> public SelectForm(string sql, string ColumnValue) { this.ColumnValue = http://www.mamicode.com/ColumnValue;"sender"></param> /// <param name="e"></param> private void SelectForm_Load(object sender, EventArgs e) { dataGrid.CellDoubleClick += dataGrid_CellDoubleClick;//单元格Cell双击事件 DataBind(); } /// <summary> /// 数据绑定 /// </summary> private void DataBind() { dt = GetDataTable();//根据sql语句绑定数据库 ColumnIndex = dt.Columns.IndexOf(ColumnValue); dataGrid.DataSource = dt; } /// <summary> /// 根据sql语句,返回datatable /// </summary> /// <returns></returns> private DataTable GetDataTable() { SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(); sb.DataSource = "liurt-pc"; sb.InitialCatalog = "mydb"; sb.UserID = "sa"; sb.Password = "qaz123"; using (SqlConnection con = new SqlConnection(sb.ToString())) { SqlDataAdapter da = new SqlDataAdapter(sql, con); DataTable dt = new DataTable(); da.Fill(dt); return dt; } } private void dataGrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex > -1) { ReturnStr = dataGrid.Rows[e.RowIndex].Cells[ColumnIndex].Value.ToString(); this.Close(); } } private void txtValue_TextChanged(object sender, EventArgs e) { DataRow[] drs = dt.Select(ColumnValue + " like ‘%" + txtValue.Text + "%‘"); if (drs.Length == 0) { dataGrid.DataSource = null; } else { dataGrid.DataSource = drs.CopyToDataTable(); } } private void dataGrid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.RowIndex % 2 != 0) { e.CellStyle.BackColor = Color.GreenYellow; } else { e.CellStyle.BackColor = Color.MintCream; } } }
基本思路就是这样。
通用选择窗体
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。