DataGirdView存储过程分页 For Winfrom .
来源:互联网 发布:买一个淘宝店铺 编辑:程序博客网 时间:2024/06/04 18:48
在Winfrom中,网格控件DataGridView并不像DataGrid自带分页功能,正好工作需要,写了下分页,只是满足项目要求。
存储过程:
CREATE PROC pro_userDefined_DataGridPage@TotalRecords INT OUTPUT, --记录总数@TotalTableName VARCHAR(100), --查询记录总数的表名@TotalJoinStr VARCHAR (1000), --查询记录总数连接语句@TotalRecordsCondition VARCHAR(500),--查询记录总数的条件语句@CurrentPage INT = 1, --当前页数@PageSize INT = 10, --每页显示的行数@TableName VARCHAR (100),--表名,视图,存储过程@FieldNames VARCHAR (1000),--需要显示的字段名@JoinStr VARCHAR (1000),--连接语句(左连接,右连接,内连接,交叉连接)@PrimaryField VARCHAR (100), --主键字段@ConditionString VARCHAR (1000),--条件语句@FilterString VARCHAR (1000),--过滤条件语句@OrderField VARCHAR (100) --根据字段排序ASDECLARE@queryStr NVARCHAR(3000), --SQL查询语句@FilterRecordCount INT --过滤的记录数IF @ConditionString = '' SET @ConditionString =' 1=1 'IF @FilterString = ''SET @FilterString = ' 1=1 'IF @TotalJoinStr = ''SET @TotalJoinStr = ''BEGINSET @queryStr = 'SELECT @TotalRecords = COUNT(' + @PrimaryField + ')FROM ' + @TotalTableName + ' ' + @TotalJoinStr + ' WHERE ' + @TotalRecordsConditionEXEC sp_executesql @queryStr,N'@TotalRecords int output',@TotalRecords outputPRINT @TotalRecordsENDIF @CurrentPage = 1 --第一页BEGINSET @queryStr = ' SELECT TOP ' + CAST(@PageSize AS VARCHAR(10)) + ' ' + @fieldNames + ' FROM ' + @TableName + ' ' + @JoinStr + ' WHERE ' + @ConditionString + ' ORDER BY ' + @OrderFieldEXEC (@queryStr)ENDELSEBEGINSET @CurrentPage = @CurrentPage - 1SET @FilterRecordCount = CAST(@CurrentPage * @PageSize AS VARCHAR(10))SET @queryStr =' SELECT TOP ' + CAST(@PageSize AS VARCHAR(10)) + ' ' + @fieldNames + ' FROM ' + @TableName + ' ' + @JoinStr + ' WHERE ' + @PrimaryField + ' NOT IN ( SELECT TOP ' + CAST(@FilterRecordCount AS VARCHAR(10)) + ' ' + @PrimaryField + ' FROM ' + @TableName + ' WHERE ' + @FilterString + ' ORDER BY ' + @PrimaryField + ') AND ' + @ConditionString + ' ORDER BY ' + @PrimaryFieldEXEC (@queryStr)ENDGO用户控件:
导航菜单,我就用了ToolStrip控件进行创建各个按钮
代码实现:
声明变量,属性
- #region 变量
- private int _PageSum = 0;
- private int _TotalRecords = 0;
- private int _CurrentPage = 1;
- private int _PageSize = 10;
- private string _TableName = null;
- private string _TotalTableName = null;
- private string _TotalJoinStr = null;
- private string _TotalRecordsCondition = null;
- private string _FieldNames = null;
- private string _JoinStr = null;
- private string _PrimaryField = null;
- private string _ConditionString = null;
- private string _FilterString = null;
- private string _OrderField = null;
- private DataTable _GridSource;
- private SqlParameter[] _SqlParameter;
- private SqlCommand _SqlCommand;
- private SqlDataAdapter _SqlDataAdatpter;
- private DataSet _girdDataSet;
- private DataTable _gridTable;
- private BindingSource _bingingSource = new BindingSource();
- private string _currentpageStr = "{0}";
- private string _pagesumStr = "共{0}条记录";
- #endregion
- #region 属性
- /// <summary>
- /// 设置当前页数
- /// </summary>
- public int SetCurrentPage
- {
- set { _CurrentPage = value; }
- }
- /// <summary>
- /// 设置每页显示的行数
- /// </summary>
- public int SetPageSize
- {
- set { _PageSize = value; }
- }
- /// <summary>
- /// 设置表名,视图,存储过程
- /// </summary>
- public string SetTableName
- {
- set { _TableName = value;}
- }
#region 变量 private int _PageSum = 0; private int _TotalRecords = 0; private int _CurrentPage = 1; private int _PageSize = 10; private string _TableName = null; private string _TotalTableName = null; private string _TotalJoinStr = null; private string _TotalRecordsCondition = null; private string _FieldNames = null; private string _JoinStr = null; private string _PrimaryField = null; private string _ConditionString = null; private string _FilterString = null; private string _OrderField = null; private DataTable _GridSource; private SqlParameter[] _SqlParameter; private SqlCommand _SqlCommand; private SqlDataAdapter _SqlDataAdatpter; private DataSet _girdDataSet; private DataTable _gridTable; private BindingSource _bingingSource = new BindingSource(); private string _currentpageStr = "{0}"; private string _pagesumStr = "共{0}条记录"; #endregion #region 属性 /// <summary> /// 设置当前页数 /// </summary>public int SetCurrentPage { set { _CurrentPage = value; } } /// <summary> /// 设置每页显示的行数 /// </summary> public int SetPageSize { set { _PageSize = value; } } /// <summary> /// 设置表名,视图,存储过程 /// </summary> public string SetTableName { set { _TableName = value;} }
- /// <summary>
- /// 设置查询记录总数的表名
- /// </summary>
- public string SetTotalTableName
- {
- set { _TotalTableName = value; }
- }
- /// <summary>
- /// 设置查询总记录数连接语句(左连接,右连接,内连接,交叉连接)
- /// </summary>
- public string SetTotalJoinStr
- {
- set { _TotalJoinStr = value; }
- }
- /// <summary>
- /// 设置查询记录总数的条件语句
- /// </summary>
- public string SetTotalRecordsCondition <PRE class=csharp name="code"> {
- set { _TotalRecordsCondition = value; }
- }
- /// <summary>
- /// 设置需要DataGirdView显示的字段,以逗号分开
- /// </summary>
- public string SetFieldNames
- {
- set { _FieldNames = value; }
- }
- /// <summary>
- /// 连接语句(左连接,右连接,内连接,交叉连接)
- /// </summary>
- public string SetJoinStr
- {
- set { _JoinStr = value; }
- }
- /// <summary>
- /// 设置主键字段
- /// </summary>
- public string SetPrimaryField
- {
- set { _PrimaryField = value; }
- }
- /// <summary>
- /// 设置查询条件语句</PRE>
- ss=csharp name="code"> /// </summary>
- public string SetConditionString
- {
- set { _ConditionString = value; }
- }
- /// <summary>
- /// 设置过滤查询条件语句
- /// </summary>
- public string SetFilterString
- {
- set { _FilterString = value; }
- }
- /// <summary>
- /// 设置排序字段
- /// </summary>
- public string SetOrderField
- {
- set { _OrderField = value; }
- }
- /// <summary>
- /// 获得DataGridView数据源
- /// </summary>
- public DataTable GetGridSource
- {
- get { return _gridTable; }
- }
- public BindingSource GetBingingSource
- {
- get { return _bingingSource; }
- }</PRE>
/// <summary> /// 设置查询记录总数的表名 /// </summary> public string SetTotalTableName { set { _TotalTableName = value; } } /// <summary> /// 设置查询总记录数连接语句(左连接,右连接,内连接,交叉连接) /// </summary> public string SetTotalJoinStr { set { _TotalJoinStr = value; } } /// <summary> /// 设置查询记录总数的条件语句 /// </summary> public string SetTotalRecordsCondition
- {
- set { _TotalRecordsCondition = value; }
- }
- /// <summary>
- /// 设置需要DataGirdView显示的字段,以逗号分开
- /// </summary>
- public string SetFieldNames
- {
- set { _FieldNames = value; }
- }
- /// <summary>
- /// 连接语句(左连接,右连接,内连接,交叉连接)
- /// </summary>
- public string SetJoinStr
- {
- set { _JoinStr = value; }
- }
- /// <summary>
- /// 设置主键字段
- /// </summary>
- public string SetPrimaryField
- {
- set { _PrimaryField = value; }
- }
- /// <summary>
- /// 设置查询条件语句
{ set { _TotalRecordsCondition = value; } } /// <summary> /// 设置需要DataGirdView显示的字段,以逗号分开 /// </summary> public string SetFieldNames { set { _FieldNames = value; } } /// <summary> /// 连接语句(左连接,右连接,内连接,交叉连接) /// </summary> public string SetJoinStr { set { _JoinStr = value; } } /// <summary> /// 设置主键字段 /// </summary> public string SetPrimaryField { set { _PrimaryField = value; } } /// <summary> /// 设置查询条件语句
- /// </summary>
- public string SetConditionString
- {
- set { _ConditionString = value; }
- }
- /// <summary>
- /// 设置过滤查询条件语句
- /// </summary>
- public string SetFilterString
- {
- set { _FilterString = value; }
- }
- /// <summary>
- /// 设置排序字段
- /// </summary>
- public string SetOrderField
- {
- set { _OrderField = value; }
- }
- /// <summary>
- /// 获得DataGridView数据源
- /// </summary>
- public DataTable GetGridSource
- {
- get { return _gridTable; }
- }
- public BindingSource GetBingingSource
- {
- get { return _bingingSource; }
- }
/// </summary> public string SetConditionString { set { _ConditionString = value; } } /// <summary> /// 设置过滤查询条件语句 /// </summary> public string SetFilterString { set { _FilterString = value; } } /// <summary> /// 设置排序字段 /// </summary> public string SetOrderField { set { _OrderField = value; } } /// <summary> /// 获得DataGridView数据源 /// </summary> public DataTable GetGridSource { get { return _gridTable; } } public BindingSource GetBingingSource { get { return _bingingSource; } }
- <FONT color=#008080>toolStrip点击事件ItemClick</FONT>
toolStrip点击事件ItemClick
- <PRE class=csharp name="code"> #endregion</PRE>
- <PRE class=csharp name="code"> /// <summary>
- /// 导航条点击事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void strNavigationBar_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
- {
- int m_currentPage = Convert.ToInt32(txtCurrentPage.Text);
- int m_pageNumber = 1;//转到页数
- int m_pageSize = 10;//设置显示行数
- bool m_isValid = false;//输入的行数和页数是否合法
- if (dataGridView.DataSource == null)
- {
- return;
- }
- try
- {
- if (e.ClickedItem.Text == "上一页")
- {
- m_currentPage--;
- if (m_currentPage <= 0)
- {
- MessageBox.Show("已经是第一页,请点击‘下一页’查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- else
- {
- SetCurrentPage = m_currentPage;
- PreviousPage(_CurrentPage);
- txtCurrentPage.Text = m_currentPage.ToString();
- }
- }
- if (e.ClickedItem.Text == "下一页")
- {
- m_currentPage++;
- if (m_currentPage > _PageSum)
- {
- MessageBox.Show("已经是最后页,请点击‘上一页’查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- else
- {
- SetCurrentPage = m_currentPage;
- NextPage(_CurrentPage);
- txtCurrentPage.Text = m_currentPage.ToString();
- }
- }
- if (e.ClickedItem.Text == "首页")
- {
- SetCurrentPage = 1;
- FirstPage(_CurrentPage);
- txtCurrentPage.Text = "1";
- }
- if (e.ClickedItem.Text == "尾页")
- {
- SetCurrentPage = _PageSum;
- FirstPage(_CurrentPage);
- txtCurrentPage.Text = _PageSum.ToString();
- }
- if (e.ClickedItem.Text == "Go")
- {
- m_isValid = isValidContent(txtGotoPageNumber.Text.Trim());
- if (!m_isValid)
- {
- MessageBox.Show("输入有效的页码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- txtGotoPageNumber.Focus();
- return;
- }
- if (_TotalRecords > 0)
- {
- m_pageNumber = Convert.ToInt32(txtGotoPageNumber.Text.Trim());
- if (m_pageNumber < 0 || m_pageNumber > _PageSum)
- {
- MessageBox.Show("输入有效的页码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- txtGotoPageNumber.Focus();
- return;
- }
- GotoPageNumber(m_pageNumber);
- txtCurrentPage.Text = m_pageNumber.ToString();
- }
- }
- if (e.ClickedItem.Text == "确定")
- {
- m_isValid = isValidContent(txtPageSize.Text.Trim());
- if (!m_isValid)
- {
- MessageBox.Show("输入有效的行数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- txtPageSize.Focus();
- return;
- }
- m_pageSize = Convert.ToInt32(txtPageSize.Text.Trim());
- if (m_pageNumber < 0)
- {
- MessageBox.Show("输入有效的行数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- txtPageSize.Focus();
- return;
- }
- SetPageSize = m_pageSize;
- InitDataGrid();
- }
- if (e.ClickedItem.Name == "btnHideNavigation")
- {
- btnShowHideNavigation.Visible = true;
- strNavigationBar.Visible = false;
- }
- }
- catch (Exception CommonException)
- {
- MessageBox.Show("窗口加载出错!" + CommonException.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);</PRE>
- #endregion
#endregion
- /// <summary>
- /// 导航条点击事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void strNavigationBar_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
- {
- int m_currentPage = Convert.ToInt32(txtCurrentPage.Text);
- int m_pageNumber = 1;//转到页数
- int m_pageSize = 10;//设置显示行数
- bool m_isValid = false;//输入的行数和页数是否合法
- if (dataGridView.DataSource == null)
- {
- return;
- }
- try
- {
- if (e.ClickedItem.Text == "上一页")
- {
- m_currentPage--;
- if (m_currentPage <= 0)
- {
- MessageBox.Show("已经是第一页,请点击‘下一页’查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- else
- {
- SetCurrentPage = m_currentPage;
- PreviousPage(_CurrentPage);
- txtCurrentPage.Text = m_currentPage.ToString();
- }
- }
- if (e.ClickedItem.Text == "下一页")
- {
- m_currentPage++;
- if (m_currentPage > _PageSum)
- {
- MessageBox.Show("已经是最后页,请点击‘上一页’查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- else
- {
- SetCurrentPage = m_currentPage;
- NextPage(_CurrentPage);
- txtCurrentPage.Text = m_currentPage.ToString();
- }
- }
- if (e.ClickedItem.Text == "首页")
- {
- SetCurrentPage = 1;
- FirstPage(_CurrentPage);
- txtCurrentPage.Text = "1";
- }
- if (e.ClickedItem.Text == "尾页")
- {
- SetCurrentPage = _PageSum;
- FirstPage(_CurrentPage);
- txtCurrentPage.Text = _PageSum.ToString();
- }
- if (e.ClickedItem.Text == "Go")
- {
- m_isValid = isValidContent(txtGotoPageNumber.Text.Trim());
- if (!m_isValid)
- {
- MessageBox.Show("输入有效的页码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- txtGotoPageNumber.Focus();
- return;
- }
- if (_TotalRecords > 0)
- {
- m_pageNumber = Convert.ToInt32(txtGotoPageNumber.Text.Trim());
- if (m_pageNumber < 0 || m_pageNumber > _PageSum)
- {
- MessageBox.Show("输入有效的页码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- txtGotoPageNumber.Focus();
- return;
- }
- GotoPageNumber(m_pageNumber);
- txtCurrentPage.Text = m_pageNumber.ToString();
- }
- }
- if (e.ClickedItem.Text == "确定")
- {
- m_isValid = isValidContent(txtPageSize.Text.Trim());
- if (!m_isValid)
- {
- MessageBox.Show("输入有效的行数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- txtPageSize.Focus();
- return;
- }
- m_pageSize = Convert.ToInt32(txtPageSize.Text.Trim());
- if (m_pageNumber < 0)
- {
- MessageBox.Show("输入有效的行数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- txtPageSize.Focus();
- return;
- }
- SetPageSize = m_pageSize;
- InitDataGrid();
- }
- if (e.ClickedItem.Name == "btnHideNavigation")
- {
- btnShowHideNavigation.Visible = true;
- strNavigationBar.Visible = false;
- }
- }
- catch (Exception CommonException)
- {
- MessageBox.Show("窗口加载出错!" + CommonException.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
/// <summary> /// 导航条点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void strNavigationBar_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { int m_currentPage = Convert.ToInt32(txtCurrentPage.Text); int m_pageNumber = 1;//转到页数 int m_pageSize = 10;//设置显示行数 bool m_isValid = false;//输入的行数和页数是否合法 if (dataGridView.DataSource == null) { return; } try { if (e.ClickedItem.Text == "上一页") { m_currentPage--; if (m_currentPage <= 0) { MessageBox.Show("已经是第一页,请点击‘下一页’查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { SetCurrentPage = m_currentPage; PreviousPage(_CurrentPage); txtCurrentPage.Text = m_currentPage.ToString(); } } if (e.ClickedItem.Text == "下一页") { m_currentPage++; if (m_currentPage > _PageSum) { MessageBox.Show("已经是最后页,请点击‘上一页’查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { SetCurrentPage = m_currentPage; NextPage(_CurrentPage); txtCurrentPage.Text = m_currentPage.ToString(); } } if (e.ClickedItem.Text == "首页") { SetCurrentPage = 1; FirstPage(_CurrentPage); txtCurrentPage.Text = "1"; } if (e.ClickedItem.Text == "尾页") { SetCurrentPage = _PageSum; FirstPage(_CurrentPage); txtCurrentPage.Text = _PageSum.ToString(); } if (e.ClickedItem.Text == "Go") { m_isValid = isValidContent(txtGotoPageNumber.Text.Trim()); if (!m_isValid) { MessageBox.Show("输入有效的页码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); txtGotoPageNumber.Focus(); return; } if (_TotalRecords > 0) { m_pageNumber = Convert.ToInt32(txtGotoPageNumber.Text.Trim()); if (m_pageNumber < 0 || m_pageNumber > _PageSum) { MessageBox.Show("输入有效的页码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); txtGotoPageNumber.Focus(); return; } GotoPageNumber(m_pageNumber); txtCurrentPage.Text = m_pageNumber.ToString(); } } if (e.ClickedItem.Text == "确定") { m_isValid = isValidContent(txtPageSize.Text.Trim()); if (!m_isValid) { MessageBox.Show("输入有效的行数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); txtPageSize.Focus(); return; } m_pageSize = Convert.ToInt32(txtPageSize.Text.Trim()); if (m_pageNumber < 0) { MessageBox.Show("输入有效的行数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); txtPageSize.Focus(); return; } SetPageSize = m_pageSize; InitDataGrid(); } if (e.ClickedItem.Name == "btnHideNavigation") { btnShowHideNavigation.Visible = true; strNavigationBar.Visible = false; } } catch (Exception CommonException) { MessageBox.Show("窗口加载出错!" + CommonException.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
- <PRE class=csharp name="code"> }
- } </PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"><FONT color=#008080>按钮事件</FONT></PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> /// <summary>
- /// 首页
- /// </summary>
- /// <param name="CurrentPage"></param>
- private void FirstPage(int CurrentPage)
- {
- try
- {
- SetCurrentPage = CurrentPage;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
- /// <summary>
- /// 尾页
- /// </summary>
- /// <param name="CurrentPage"></param>
- private void LastPage(int CurrentPage)
- {
- try
- {
- SetCurrentPage = CurrentPage;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
- /// <summary>
- /// 下一页
- /// </summary>
- /// <param name="CurrentPage"></param>
- private void NextPage(int CurrentPage)
- {
- try</PRE>
- <PRE class=csharp name="code"> {
- SetCurrentPage = CurrentPage;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
- /// <summary>
- /// 上一页
- /// </summary>
- /// <param name="CurrentPage"></param>
- private void PreviousPage(int CurrentPage)
- {
- try
- {
- SetCurrentPage = CurrentPage;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
- /// <summary>
- /// 转页
- /// </summary>
- /// <param name="pageNumber"></param>
- private void GotoPageNumber(int pageNumber)
- {
- try
- {
- SetCurrentPage = pageNumber;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- } </PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"><FONT color=#008080>对输入的页数等信息进行验证</FONT></PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"><PRE class=csharp name="code"> /// <summary>
- /// 验证是否是有效的内容
- /// </summary>
- /// <param name="content"></param>
- /// <returns></returns>
- private bool isValidContent(string content)
- {
- bool m_isValid = true;
- for (int index = 0; index < content.Trim().Length; index++)
- {
- if (!Char.IsNumber(content.Trim(), index))
- {
- m_isValid = false;
- }
- }
- return m_isValid;
- }</PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"><FONT color=#008080>初始化DataGridView方法</FONT></PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> /// <summary>
- /// 初始化DataGirdView
- /// </summary>
- public void InitDataGrid()
- {
- _SqlDataAdatpter = new SqlDataAdapter();
- _SqlCommand = new SqlCommand();
- _girdDataSet = new DataSet();
- _SqlParameter = new SqlParameter[13];
- try
- {
- _SqlParameter[0] = new SqlParameter();
- _SqlParameter[0].ParameterName = "@TotalRecords";
- _SqlParameter[0].Size = 4;
- _SqlParameter[0].Direction = ParameterDirection.Output;
- _SqlParameter[1] = new SqlParameter();
- _SqlParameter[1].ParameterName = "@CurrentPage";
- _SqlParameter[1].Size = 4;
- _SqlParameter[1].Value = _CurrentPage;
- _SqlParameter[1].Direction = ParameterDirection.Input;
- _SqlParameter[2] = new SqlParameter();
- _SqlParameter[2].ParameterName = "@PageSize";
- _SqlParameter[2].Size = 4;
- _SqlParameter[2].Value = _PageSize;
- _SqlParameter[2].Direction = ParameterDirection.Input;
- _SqlParameter[3] = new SqlParameter();
- _SqlParameter[3].ParameterName = "@TableName";
- _SqlParameter[3].Size = 100;
- _SqlParameter[3].Value = _TableName;
- _SqlParameter[3].Direction = ParameterDirection.Input;
- _SqlParameter[4] = new SqlParameter();
- _SqlParameter[4].ParameterName = "@TotalTableName";
- _SqlParameter[4].Size = 100;
- _SqlParameter[4].Value = _TotalTableName;
- _SqlParameter[4].Direction = ParameterDirection.Input;
- _SqlParameter[5] = new SqlParameter();
- _SqlParameter[5].ParameterName = "@TotalJoinStr";
- _SqlParameter[5].Size = 1000;
- _SqlParameter[5].Value =_TotalJoinStr;
- _SqlParameter[5].Direction = ParameterDirection.Input;
- _SqlParameter[6] = new SqlParameter();
- _SqlParameter[6].ParameterName = "@TotalRecordsCondition";
- _SqlParameter[6].Size = 500;
- _SqlParameter[6].Value = _TotalRecordsCondition;
- _SqlParameter[6].Direction = ParameterDirection.Input;
- _SqlParameter[7] = new SqlParameter();
- _SqlParameter[7].ParameterName = "@FieldNames";
- _SqlParameter[7].Size = 1000;
- _SqlParameter[7].Value = _FieldNames;
- _SqlParameter[7].Direction = ParameterDirection.Input;
- _SqlParameter[8] = new SqlParameter();
- _SqlParameter[8].ParameterName = "@JoinStr";
- _SqlParameter[8].Size = 1000;
- _SqlParameter[8].Value = _JoinStr;
- _SqlParameter[8].Direction = ParameterDirection.Input;
- _SqlParameter[9] = new SqlParameter();
- _SqlParameter[9].ParameterName = "@PrimaryField";
- _SqlParameter[9].Size = 100;
- _SqlParameter[9].Value = _PrimaryField;
- _SqlParameter[9].Direction = ParameterDirection.Input;
- _SqlParameter[10] = new SqlParameter();
- _SqlParameter[10].ParameterName = "@ConditionString";
- _SqlParameter[10].Size = 1000;
- _SqlParameter[10].Value = _ConditionString;
- _SqlParameter[10].Direction = ParameterDirection.Input;
- _SqlParameter[11] = new SqlParameter();
- _SqlParameter[11].ParameterName = "@FilterString";
- _SqlParameter[11].Size = 1000;
- _SqlParameter[11].Value = _FilterString;
- _SqlParameter[11].Direction = ParameterDirection.Input;
- _SqlParameter[12] = new SqlParameter();
- _SqlParameter[12].ParameterName = "@OrderField";
- _SqlParameter[12].Size = 100;
- _SqlParameter[12].Value = _OrderField;
- _SqlParameter[12].Direction = ParameterDirection.Input;
- _girdDataSet = DBOperation.RunProcedure("pro_userDefined_DataGridPage", _SqlParameter, "gridtable");
- _gridTable = _girdDataSet.Tables["gridtable"];
- _bingingSource.DataSource = _gridTable;
- dataGridView.AutoGenerateColumns = false;
- dataGridView.EditMode = DataGridViewEditMode.EditOnEnter;
- dataGridView.DataSource = _bingingSource;
- _GridSource = _gridTable;
- //初始化状态栏
- _TotalRecords = Convert.ToInt32(_SqlParameter[0].Value);
- lblTotalRecords.Text = string.Format(_pagesumStr, new object[] { _TotalRecords });//记录总数
- _PageSum = _TotalRecords - _TotalRecords % _PageSize;
- _PageSum /= _PageSize;
- _PageSum++;
- lblPageCount.Text = string.Format(_currentpageStr, new object[] { _PageSum });//页数
- }
- catch (Exception CommonException)
- {
- MessageBox.Show("窗口加载出错!" + CommonException.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); </PRE>
- </PRE>
- <PRE class=csharp name="code"><PRE class=csharp name="code"><PRE class=csharp name="code"> }
- } </PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"><FONT color=#008080>执行存储过程方法</FONT></PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> /// <summary>
- /// 执行存储过程
- /// </summary>
- /// <param name="storedProcName">存储过程名</param>
- /// <param name="parameters">存储过程参数</param>
- /// <param name="tableName">DataSet结果中的表名</param>
- /// <returns>DataSet</returns>
- public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
- {
- using (SqlConnection connection = dbconn.getDBConnection())
- {
- DataSet dataSet = new DataSet();</PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> connection.Open();
- SqlDataAdapter sqlDA = new SqlDataAdapter();
- sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
- sqlDA.Fill(dataSet, tableName);
- connection.Close();
- return dataSet;
- }
- }</PRE>
- </PRE>
- </PRE>
- }
- sp;
} }
- <FONT color=#008080>按钮事件</FONT>
按钮事件
- /// <summary>
- /// 首页
- /// </summary>
- // <param name="CurrentPage"></param>
- private void FirstPage(int CurrentPage)
- {
- try
- {
- SetCurrentPage = CurrentPage;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
- /// <summary>
- /// 尾页
- /// </summary>
- /// <param name="CurrentPage"></param>
- private void LastPage(int CurrentPage)
- {
- try
- {
- SetCurrentPage = CurrentPage;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
- /// <summary>
- /// 下一页
- /// </summary>
- /// <param name="CurrentPage"></param>
- private void NextPage(int CurrentPage)
- {
- try
/// <summary> /// 首页 /// </summary> /// <param name="CurrentPage"></param> private void FirstPage(int CurrentPage) { try { SetCurrentPage = CurrentPage; InitDataGrid(); } catch (Exception CommonException) { throw new Exception(CommonException.Message); } } /// <summary> /// 尾页 /// </summary> /// <param name="CurrentPage"></param> private void LastPage(int CurrentPage) { try { SetCurrentPage = CurrentPage; InitDataGrid(); } catch (Exception CommonException) { throw new Exception(CommonException.Message); } } /// <summary> /// 下一页 /// </summary> /// <param name="CurrentPage"></param> private void NextPage(int CurrentPage) { try
- {
- SetCurrentPage = CurrentPage;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
- /// <summary>
- /// 上一页
- /// </summary>
- /// <param name="CurrentPage"></param>
- private void PreviousPage(int CurrentPage)
- {
- try
- {
- SetCurrentPage = CurrentPage;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
- /// <summary>
- /// 转页
- /// </summary>
- /// <param name="pageNumber"></param>
- private void GotoPageNumber(int pageNumber)
- {
- try
- {
- SetCurrentPage = pageNumber;
- InitDataGrid();
- }
- catch (Exception CommonException)
- {
- throw new Exception(CommonException.Message);
- }
- }
{ SetCurrentPage = CurrentPage; InitDataGrid(); } catch (Exception CommonException) { throw new Exception(CommonException.Message); } } /// <summary> /// 上一页 /// </summary> /// <param name="CurrentPage"></param> private void PreviousPage(int CurrentPage) { try { SetCurrentPage = CurrentPage; InitDataGrid(); } catch (Exception CommonException) { throw new Exception(CommonException.Message); } } /// <summary> /// 转页 /// </summary> /// <param name="pageNumber"></param> private void GotoPageNumber(int pageNumber) { try { SetCurrentPage = pageNumber; InitDataGrid(); } catch (Exception CommonException) { throw new Exception(CommonException.Message); } }
- <FONT color=#008080>对输入的页数等信息进行验证</FONT>
对输入的页数等信息进行验证
- <PRE class=csharp name="code"> /// <summary>
- /// 验证是否是有效的内容
- /// </summary>
- /// <param name="content"></param>
- /// <returns></returns>
- private bool isValidContent(string content)
- {
- bool m_isValid = true;
- for (int index = 0; index < content.Trim().Length; index++)
- {
- if (!Char.IsNumber(content.Trim(), index))
- {
- m_isValid = false;
- }
- }
- return m_isValid;
- }</PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"><FONT color=#008080>初始化DataGridView方法</FONT></PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> /// <summary>
- /// 初始化DataGirdView
- /// </summary>
- public void InitDataGrid()
- {
- _SqlDataAdatpter = new SqlDataAdapter();
- _SqlCommand = new SqlCommand();
- _girdDataSet = new DataSet();
- _SqlParameter = new SqlParameter[13];
- try
- {
- _SqlParameter[0] = new SqlParameter();
- _SqlParameter[0].ParameterName = "@TotalRecords";
- _SqlParameter[0].Size = 4;
- _SqlParameter[0].Direction = ParameterDirection.Output;
- _SqlParameter[1] = new SqlParameter();
- _SqlParameter[1].ParameterName = "@CurrentPage";
- _SqlParameter[1].Size = 4;
- _SqlParameter[1].Value = _CurrentPage;
- _SqlParameter[1].Direction = ParameterDirection.Input;
- _SqlParameter[2] = new SqlParameter();
- _SqlParameter[2].ParameterName = "@PageSize";
- _SqlParameter[2].Size = 4;
- _SqlParameter[2].Value = _PageSize;
- _SqlParameter[2].Direction = ParameterDirection.Input;
- _SqlParameter[3] = new SqlParameter();
- _SqlParameter[3].ParameterName = "@TableName";
- _SqlParameter[3].Size = 100;
- _SqlParameter[3].Value = _TableName;
- _SqlParameter[3].Direction = ParameterDirection.Input;
- _SqlParameter[4] = new SqlParameter();
- _SqlParameter[4].ParameterName = "@TotalTableName";
- _SqlParameter[4].Size = 100;
- _SqlParameter[4].Value = _TotalTableName;
- _SqlParameter[4].Direction = ParameterDirection.Input;
- _SqlParameter[5] = new SqlParameter();
- _SqlParameter[5].ParameterName = "@TotalJoinStr";
- _SqlParameter[5].Size = 1000;
- _SqlParameter[5].Value =_TotalJoinStr;
- _SqlParameter[5].Direction = ParameterDirection.Input;
- _SqlParameter[6] = new SqlParameter();
- _SqlParameter[6].ParameterName = "@TotalRecordsCondition";
- _SqlParameter[6].Size = 500;
- _SqlParameter[6].Value = _TotalRecordsCondition;
- _SqlParameter[6].Direction = ParameterDirection.Input;
- _SqlParameter[7] = new SqlParameter();
- _SqlParameter[7].ParameterName = "@FieldNames";
- _SqlParameter[7].Size = 1000;
- _SqlParameter[7].Value = _FieldNames;
- _SqlParameter[7].Direction = ParameterDirection.Input;
- _SqlParameter[8] = new SqlParameter();
- _SqlParameter[8].ParameterName = "@JoinStr";
- _SqlParameter[8].Size = 1000;
- _SqlParameter[8].Value = _JoinStr;
- _SqlParameter[8].Direction = ParameterDirection.Input;
- _SqlParameter[9] = new SqlParameter();
- _SqlParameter[9].ParameterName = "@PrimaryField";
- _SqlParameter[9].Size = 100;
- _SqlParameter[9].Value = _PrimaryField;
- _SqlParameter[9].Direction = ParameterDirection.Input;
- _SqlParameter[10] = new SqlParameter();
- _SqlParameter[10].ParameterName = "@ConditionString";
- _SqlParameter[10].Size = 1000;
- _SqlParameter[10].Value = _ConditionString;
- _SqlParameter[10].Direction = ParameterDirection.Input;
- _SqlParameter[11] = new SqlParameter();
- _SqlParameter[11].ParameterName = "@FilterString";
- _SqlParameter[11].Size = 1000;
- _SqlParameter[11].Value = _FilterString;
- _SqlParameter[11].Direction = ParameterDirection.Input;
- _SqlParameter[12] = new SqlParameter();
- _SqlParameter[12].ParameterName = "@OrderField";
- _SqlParameter[12].Size = 100;
- _SqlParameter[12].Value = _OrderField;
- _SqlParameter[12].Direction = ParameterDirection.Input;
- _girdDataSet = DBOperation.RunProcedure("pro_userDefined_DataGridPage", _SqlParameter, "gridtable");
- _gridTable = _girdDataSet.Tables["gridtable"];
- _bingingSource.DataSource = _gridTable;
- dataGridView.AutoGenerateColumns = false;
- dataGridView.EditMode = DataGridViewEditMode.EditOnEnter;
- dataGridView.DataSource = _bingingSource;
- _GridSource = _gridTable;
- //初始化状态栏
- _TotalRecords = Convert.ToInt32(_SqlParameter[0].Value);
- lblTotalRecords.Text = string.Format(_pagesumStr, new object[] { _TotalRecords });//记录总数
- _PageSum = _TotalRecords - _TotalRecords % _PageSize;
- _PageSum /= _PageSize;
- _PageSum++;
- lblPageCount.Text = string.Format(_currentpageStr, new object[] { _PageSum });//页数
- }
- catch (Exception CommonException)
- {
- MessageBox.Show("窗口加载出错!" + CommonException.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); </PRE>
- /// <summary>
- /// 验证是否是有效的内容
- /// </summary>
- /// <param name="content"></param>
- /// <returns></returns>
- private bool isValidContent(string content)
- {
- bool m_isValid = true;
- for (int index = 0; index < content.Trim().Length; index++)
- {
- if (!Char.IsNumber(content.Trim(), index))
- {
- m_isValid = false;
- }
- }
- return m_isValid;
- }
/// <summary> /// 验证是否是有效的内容 /// </summary> /// <param name="content"></param> /// <returns></returns> private bool isValidContent(string content) { bool m_isValid = true; for (int index = 0; index < content.Trim().Length; index++) { if (!Char.IsNumber(content.Trim(), index)) { m_isValid = false; } } return m_isValid; }
- <FONT color=#008080>初始化DataGridView方法</FONT>
初始化DataGridView方法
- /// <summary>
- /// 初始化DataGirdView
- /// </summary>
- public void InitDataGrid()
- {
- _SqlDataAdatpter = new SqlDataAdapter();
- _SqlCommand = new SqlCommand();
- _girdDataSet = new DataSet();
- _SqlParameter = new SqlParameter[13];
- try
- {
- _SqlParameter[0] = new SqlParameter();
- _SqlParameter[0].ParameterName = "@TotalRecords";
- _SqlParameter[0].Size = 4;
- _SqlParameter[0].Direction = ParameterDirection.Output;
- _SqlParameter[1] = new SqlParameter();
- _SqlParameter[1].ParameterName = "@CurrentPage";
- _SqlParameter[1].Size = 4;
- _SqlParameter[1].Value = _CurrentPage;
- _SqlParameter[1].Direction = ParameterDirection.Input;
- _SqlParameter[2] = new SqlParameter();
- _SqlParameter[2].ParameterName = "@PageSize";
- _SqlParameter[2].Size = 4;
- _SqlParameter[2].Value = _PageSize;
- _SqlParameter[2].Direction = ParameterDirection.Input;
- _SqlParameter[3] = new SqlParameter();
- _SqlParameter[3].ParameterName = "@TableName";
- _SqlParameter[3].Size = 100;
- _SqlParameter[3].Value = _TableName;
- _SqlParameter[3].Direction = ParameterDirection.Input;
- _SqlParameter[4] = new SqlParameter();
- _SqlParameter[4].ParameterName = "@TotalTableName";
- _SqlParameter[4].Size = 100;
- _SqlParameter[4].Value = _TotalTableName;
- _SqlParameter[4].Direction = ParameterDirection.Input;
- _SqlParameter[5] = new SqlParameter();
- _SqlParameter[5].ParameterName = "@TotalJoinStr";
- _SqlParameter[5].Size = 1000;
- _SqlParameter[5].Value =_TotalJoinStr;
- _SqlParameter[5].Direction = ParameterDirection.Input;
- _SqlParameter[6] = new SqlParameter();
- _SqlParameter[6].ParameterName = "@TotalRecordsCondition";
- _SqlParameter[6].Size = 500;
- _SqlParameter[6].Value = _TotalRecordsCondition;
- _SqlParameter[6].Direction = ParameterDirection.Input;
- _SqlParameter[7] = new SqlParameter();
- _SqlParameter[7].ParameterName = "@FieldNames";
- _SqlParameter[7].Size = 1000;
- _SqlParameter[7].Value = _FieldNames;
- _SqlParameter[7].Direction = ParameterDirection.Input;
- _SqlParameter[8] = new SqlParameter();
- _SqlParameter[8].ParameterName = "@JoinStr";
- _SqlParameter[8].Size = 1000;
- _SqlParameter[8].Value = _JoinStr;
- _SqlParameter[8].Direction = ParameterDirection.Input;
- _SqlParameter[9] = new SqlParameter();
- _SqlParameter[9].ParameterName = "@PrimaryField";
- _SqlParameter[9].Size = 100;
- _SqlParameter[9].Value = _PrimaryField;
- _SqlParameter[9].Direction = ParameterDirection.Input;
- _SqlParameter[10] = new SqlParameter();
- _SqlParameter[10].ParameterName = "@ConditionString";
- _SqlParameter[10].Size = 1000;
- _SqlParameter[10].Value = _ConditionString;
- _SqlParameter[10].Direction = ParameterDirection.Input;
- _SqlParameter[11] = new SqlParameter();
- _SqlParameter[11].ParameterName = "@FilterString";
- _SqlParameter[11].Size = 1000;
- _SqlParameter[11].Value = _FilterString;
- _SqlParameter[11].Direction = ParameterDirection.Input;
- _SqlParameter[12] = new SqlParameter();
- _SqlParameter[12].ParameterName = "@OrderField";
- _SqlParameter[12].Size = 100;
- _SqlParameter[12].Value = _OrderField;
- _SqlParameter[12].Direction = ParameterDirection.Input;
- _girdDataSet = DBOperation.RunProcedure("pro_userDefined_DataGridPage", _SqlParameter, "gridtable");
- _gridTable = _girdDataSet.Tables["gridtable"];
- _bingingSource.DataSource = _gridTable;
- dataGridView.AutoGenerateColumns = false;
- dataGridView.EditMode = DataGridViewEditMode.EditOnEnter;
- dataGridView.DataSource = _bingingSource;
- _GridSource = _gridTable;
- //初始化状态栏
- _TotalRecords = Convert.ToInt32(_SqlParameter[0].Value);
- lblTotalRecords.Text = string.Format(_pagesumStr, new object[] { _TotalRecords });//记录总数
- _PageSum = _TotalRecords - _TotalRecords % _PageSize;
- _PageSum /= _PageSize;
- _PageSum++;
- lblPageCount.Text = string.Format(_currentpageStr, new object[] { _PageSum });//页数
- }
- catch (Exception CommonException)
- {
- MessageBox.Show("窗口加载出错!" + CommonException.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
/// <summary> /// 初始化DataGirdView /// </summary> public void InitDataGrid() { _SqlDataAdatpter = new SqlDataAdapter(); _SqlCommand = new SqlCommand(); _girdDataSet = new DataSet(); _SqlParameter = new SqlParameter[13]; try { _SqlParameter[0] = new SqlParameter(); _SqlParameter[0].ParameterName = "@TotalRecords"; _SqlParameter[0].Size = 4; _SqlParameter[0].Direction = ParameterDirection.Output; _SqlParameter[1] = new SqlParameter(); _SqlParameter[1].ParameterName = "@CurrentPage"; _SqlParameter[1].Size = 4; _SqlParameter[1].Value = _CurrentPage; _SqlParameter[1].Direction = ParameterDirection.Input; _SqlParameter[2] = new SqlParameter(); _SqlParameter[2].ParameterName = "@PageSize"; _SqlParameter[2].Size = 4; _SqlParameter[2].Value = _PageSize; _SqlParameter[2].Direction = ParameterDirection.Input; _SqlParameter[3] = new SqlParameter(); _SqlParameter[3].ParameterName = "@TableName"; _SqlParameter[3].Size = 100; _SqlParameter[3].Value = _TableName; _SqlParameter[3].Direction = ParameterDirection.Input; _SqlParameter[4] = new SqlParameter(); _SqlParameter[4].ParameterName = "@TotalTableName"; _SqlParameter[4].Size = 100; _SqlParameter[4].Value = _TotalTableName; _SqlParameter[4].Direction = ParameterDirection.Input; _SqlParameter[5] = new SqlParameter(); _SqlParameter[5].ParameterName = "@TotalJoinStr"; _SqlParameter[5].Size = 1000; _SqlParameter[5].Value =_TotalJoinStr; _SqlParameter[5].Direction = ParameterDirection.Input; _SqlParameter[6] = new SqlParameter(); _SqlParameter[6].ParameterName = "@TotalRecordsCondition"; _SqlParameter[6].Size = 500; _SqlParameter[6].Value = _TotalRecordsCondition; _SqlParameter[6].Direction = ParameterDirection.Input; _SqlParameter[7] = new SqlParameter(); _SqlParameter[7].ParameterName = "@FieldNames"; _SqlParameter[7].Size = 1000; _SqlParameter[7].Value = _FieldNames; _SqlParameter[7].Direction = ParameterDirection.Input; _SqlParameter[8] = new SqlParameter(); _SqlParameter[8].ParameterName = "@JoinStr"; _SqlParameter[8].Size = 1000; _SqlParameter[8].Value = _JoinStr; _SqlParameter[8].Direction = ParameterDirection.Input; _SqlParameter[9] = new SqlParameter(); _SqlParameter[9].ParameterName = "@PrimaryField"; _SqlParameter[9].Size = 100; _SqlParameter[9].Value = _PrimaryField; _SqlParameter[9].Direction = ParameterDirection.Input; _SqlParameter[10] = new SqlParameter(); _SqlParameter[10].ParameterName = "@ConditionString"; _SqlParameter[10].Size = 1000; _SqlParameter[10].Value = _ConditionString; _SqlParameter[10].Direction = ParameterDirection.Input; _SqlParameter[11] = new SqlParameter(); _SqlParameter[11].ParameterName = "@FilterString"; _SqlParameter[11].Size = 1000; _SqlParameter[11].Value = _FilterString; _SqlParameter[11].Direction = ParameterDirection.Input; _SqlParameter[12] = new SqlParameter(); _SqlParameter[12].ParameterName = "@OrderField"; _SqlParameter[12].Size = 100; _SqlParameter[12].Value = _OrderField; _SqlParameter[12].Direction = ParameterDirection.Input; _girdDataSet = DBOperation.RunProcedure("pro_userDefined_DataGridPage", _SqlParameter, "gridtable"); _gridTable = _girdDataSet.Tables["gridtable"]; _bingingSource.DataSource = _gridTable; dataGridView.AutoGenerateColumns = false; dataGridView.EditMode = DataGridViewEditMode.EditOnEnter; dataGridView.DataSource = _bingingSource; _GridSource = _gridTable; //初始化状态栏 _TotalRecords = Convert.ToInt32(_SqlParameter[0].Value); lblTotalRecords.Text = string.Format(_pagesumStr, new object[] { _TotalRecords });//记录总数 _PageSum = _TotalRecords - _TotalRecords % _PageSize; _PageSum /= _PageSize; _PageSum++; lblPageCount.Text = string.Format(_currentpageStr, new object[] { _PageSum });//页数 } catch (Exception CommonException) { MessageBox.Show("窗口加载出错!" + CommonException.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
- <PRE class=csharp name="code"><PRE class=csharp name="code"> }
- } </PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"><FONT color=#008080>执行存储过程方法</FONT></PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> /// <summary>
- /// 执行存储过程
- /// </summary>
- /// <param name="storedProcName">存储过程名</param>
- /// <param name="parameters">存储过程参数</param>
- /// <param name="tableName">DataSet结果中的表名</param>
- /// <returns>DataSet</returns>
- public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
- {
- using (SqlConnection connection = dbconn.getDBConnection())
- {
- DataSet dataSet = new DataSet();</PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> connection.Open();
- SqlDataAdapter sqlDA = new SqlDataAdapter();
- sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
- sqlDA.Fill(dataSet, tableName);
- connection.Close();
- return dataSet;
- }
- }</PRE>
- </PRE>
- <PRE class=csharp name="code"> }
- } </PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"><FONT color=#008080>执行存储过程方法</FONT></PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> /// <summary>
- /// 执行存储过程
- /// </summary>
- /// <param name="storedProcName">存储过程名</param>
- /// <param name="parameters">存储过程参数</param>
- /// <param name="tableName">DataSet结果中的表名</param>
- /// <returns>DataSet</returns>
- public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
- {
- using (SqlConnection connection = dbconn.getDBConnection())
- {
- DataSet dataSet = new DataSet();</PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code"> connection.Open();
- SqlDataAdapter sqlDA = new SqlDataAdapter();
- sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
- sqlDA.Fill(dataSet, tableName);
- connection.Close();
- return dataSet;
- }
- }</PRE>
- }
- sp;
} }
- <FONT color=#008080>执行存储过程方法</FONT>
执行存储过程方法
- /// <summary>
- /// 执行存储过程
- /// </summary>
- /// <param name="storedProcName">存储过程名</param>
- /// <param name="parameters">存储过程参数</param>
- /// <param name="tableName">DataSet结果中的表名</param>
- /// <returns>DataSet</returns>
- public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
- {
- using (SqlConnection connection = dbconn.getDBConnection())
- {
- DataSet dataSet = new DataSet();
/// <summary> /// 执行存储过程 /// </summary> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <param name="tableName">DataSet结果中的表名</param> /// <returns>DataSet</returns> public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName) { using (SqlConnection connection = dbconn.getDBConnection()) { DataSet dataSet = new DataSet();
- connection.Open();
- SqlDataAdapter sqlDA = new SqlDataAdapter();
- sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
- sqlDA.Fill(dataSet, tableName);
- connection.Close();
- return dataSet;
- }
connection.Open(); SqlDataAdapter sqlDA = new SqlDataAdapter(); sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); sqlDA.Fill(dataSet, tableName); connection.Close(); return dataSet; } }
- <PRE class=csharp name="code"><FONT color=#000000>这样用户控件完成了,但如何调用呢? </FONT></PRE>
- <PRE class=csharp name="code"><FONT color=#008080><FONT color=#000000>首先需要给参数赋值,其次,需要给DataGridView创建列</FONT> </FONT></PRE>
- <PRE class=csharp name="code"><FONT color=#008080>参数赋值</FONT> </PRE>
- <PRE class=csharp name="code"><PRE class=csharp name="code"> /// <summary>
- /// 设置DataGridView参数
- /// </summary>
- private void SetDataGridParameters()
- {
- dataGridViewControl.SetTableName = " sys_User ";
- dataGridViewControl.SetTotalTableName = " sys_User ";
- dataGridViewControl.SetTotalJoinStr = " LEFT JOIN sys_Awards ON sys_User.EmployeeNo = sys_Awards.UserID collate Chinese_PRC_CI_AI_WS ";
- dataGridViewControl.SetTotalRecordsCondition = " sys_User.isVaild = 1 AND sys_Awards.Annual = '" + OverallYear + "'";
- dataGridViewControl.SetFieldNames = " sys_User.[ID],sys_User.EmployeeNo,sys_User.UserName,sys_Duty.DutyName,sys_Dept.DeptName,sys_Awards.EndofYearAward,sys_Awards.HolidayAward ";
- dataGridViewControl.SetJoinStr = " LEFT JOIN sys_Awards ON sys_Awards.UserID = sys_User.EmployeeNo collate Chinese_PRC_CI_AI_WS"
- + " LEFT JOIN sys_Duty ON sys_User.Duty = sys_Duty.[ID]"
- + " LEFT JOIN sys_EmployeeDeploy ON sys_User.EmployeeNo = sys_EmployeeDeploy.UserID"
- + " LEFT JOIN sys_Dept ON sys_EmployeeDeploy.CurrentDept = sys_Dept.[ID] ";
- dataGridViewControl.SetPrimaryField = " sys_User.[ID] ";
- dataGridViewControl.SetConditionString = " sys_EmployeeDeploy.IsValid = 1 AND sys_User.isVaild = 1 AND sys_Awards.Annual = '" + OverallYear + "'";
- dataGridViewControl.SetFilterString = " sys_User.isVaild = 1 ";
- dataGridViewControl.SetOrderField = " sys_User.[ID] ";
- } </PRE>
- <PRE class=csharp name="code"><FONT color=#000000>创建DataGridView列</FONT>
- </PRE>
- <PRE class=csharp name="code"> /// <summary>
- /// 创建加列
- /// </summary>
- private void CreateGridColumns()
- {
- DataGridViewCell cell = new DataGridViewTextBoxCell();
- DataGridViewColumn[] columns = new DataGridViewColumn[7];
- columns[0] = new DataGridViewColumn();
- columns[0].Name = "ID";
- columns[0].HeaderText = "ID";
- columns[0].DataPropertyName = "ID";
- columns[0].CellTemplate = cell;
- columns[0].ReadOnly = true;
- columns[0].Visible = false;
- columns[1] = new DataGridViewColumn();
- columns[1].Name = "EmployeeNo";
- columns[1].HeaderText = "员工编号";
- columns[1].DataPropertyName = "EmployeeNo";
- columns[1].CellTemplate = cell;
- columns[1].ReadOnly = true;
- columns[1].Visible = true;
- columns[2] = new DataGridViewColumn();
- columns[2].Name = "UserName";
- columns[2].HeaderText = "员工姓名";
- columns[2].DataPropertyName = "UserName";
- columns[2].CellTemplate = cell;
- columns[2].ReadOnly = true;
- columns[2].Visible = true;
- columns[3] = new DataGridViewColumn();
- columns[3].Name = "DutyName";
- columns[3].HeaderText = "职位";
- columns[3].DataPropertyName = "DutyName";
- columns[3].CellTemplate = cell;
- columns[3].ReadOnly = true;
- columns[3].Visible = true;
- columns[4] = new DataGridViewColumn();
- columns[4].Name = "DeptName";
- columns[4].HeaderText = "部门";
- columns[4].DataPropertyName = "DeptName";
- columns[4].CellTemplate = cell;
- columns[4].ReadOnly = true;
- columns[4].Visible = true;
- columns[5] = new DataGridViewColumn();
- columns[5].Name = "EndofYearAward";
- columns[5].HeaderText = "年终奖";
- columns[5].DataPropertyName = "EndofYearAward";
- columns[5].CellTemplate = cell;
- columns[5].DefaultCellStyle.Format = "F";
- columns[5].ReadOnly = false;
- columns[5].Visible = true;
- columns[6] = new DataGridViewColumn();
- columns[6].Name = "HolidayAward";
- columns[6].HeaderText = "假日奖";
- columns[6].DataPropertyName = "HolidayAward";
- columns[6].CellTemplate = cell;
- columns[6].DefaultCellStyle.Format = "F";
- columns[6].ReadOnly = false;
- columns[6].Visible = true;
- foreach (DataGridViewColumn column in columns)
- {
- dataGridViewControl.dataGridView.Columns.Add(column);
- }
- } </PRE>
- <PRE class=csharp name="code"> </PRE>
- <PRE class=csharp name="code">当然了,这2个方法都是在页面Load的时候调用的
- 写到这结束了,这个DataGridView分页控件,个人觉得只是满足了自己项目的需求,但是我想肯定还有不足的地方,或者编码不规范或者有更好的方法,</PRE>
- <PRE class=csharp name="code"><PRE class=csharp name="code"><PRE class=csharp name="code">希望有经验的朋友能提出来,好让能改进改进,也可以从中学习下!~<IMG alt="" src="/Editor/FCKeditor/editor/images/smiley/msn/teeth_smile.gif"></PRE>
- </PRE>
- </PRE>
- </PRE>
- DataGirdView存储过程分页 For Winfrom
- DataGirdView存储过程分页 For Winfrom .
- orcale分页 存储过程分页
- 一个分页存储过程
- 一个分页存储过程
- 存储过程分页代码
- 分页存储过程
- 数据库分页存储过程
- 分页存储过程
- 一个分页存储过程
- 分页 SQLServer存储过程
- 分页 SQLServer存储过程
- 存储过程分页
- SqlServer分页存储过程
- 分页的存储过程
- 通用分页存储过程
- sql 存储过程分页
- 分页存储过程
- tomcat 、jsp、 servlet 、jstl版本对应
- SharedPreferences的模式 mode
- Using OpenAPI with C++[3] _VC调用WebService
- tomcat启动时错误java.net.BindException: Address already in use: JVM_Bind:80
- linux 查日志各报错类型的数量
- DataGirdView存储过程分页 For Winfrom .
- CentOS下成功以rpm方式安装Mysql 5.5.13
- 用java实现文件下载的几种方法
- jquery 为整个页面绑定click事件,获得当前所在div
- 跨域访问控制
- 在从1到n的正数中1出现的次数
- Oracle RAC 分布式数据库系统简介
- flex as3开源组件
- 呃……csdn blog居然不支持Metaweblog了,是为自己的博客工具做技术壁垒吗