Example #1
0
 /// <summary>
 /// 数据源清理掉未正式添加的行,即行状态为Detached的行
 /// </summary>
 public static void Clear_DetachedRows(RjCtrlLib.RjBindingSource _rjBindingSource)
 {
     if (_rjBindingSource != null &&
         (_rjBindingSource.Current as DataRowView) != null &&
         (_rjBindingSource.Current as DataRowView).Row.RowState == DataRowState.Detached
         )
     {
         _rjBindingSource.Delete();
     }
 }
Example #2
0
        /// <summary>
        /// 按字节数做最大长度验证,超出长度限制则提示并返回true
        /// </summary>
        public static bool MaxLengthCheck(RjCtrlLib.RjBindingSource rjBindingSource)
        {
            DataSet ds = (rjBindingSource.DataSource as DataSet);

            if (ds == null || !ds.Tables.Contains(rjBindingSource.DataMember))
            {
                return(false);
            }

            DataTable dt = ds.Tables[rjBindingSource.DataMember];

            foreach (DataColumn dtCol in dt.Columns)
            {
                if (dtCol.DataType.Name == "String" &&
                    dtCol.MaxLength > 0 &&
                    !dtCol.ReadOnly)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        //如果字符串的长度,按字节数算,超出了最大长度,则提醒长度超出限制
                        if (Encoding.Default.GetBytes(Convert.ToString(dr[dtCol.ColumnName]))
                            .Length > dtCol.MaxLength)
                        {
                            string strAlert;
                            if (rjBindingSource.GridView != null &&
                                rjBindingSource.GridView.Columns[dtCol.ColumnName] != null)
                            {
                                strAlert = string.Format("{0}列内容“{1}”长度超出限制",
                                                         rjBindingSource.GridView.Columns[dtCol.ColumnName].Caption, dr[dtCol.ColumnName]);
                            }
                            else
                            {
                                strAlert = string.Format("{0}列内容“{1}”长度超出限制",
                                                         dtCol.ColumnName, dr[dtCol.ColumnName]);
                            }
                            XtraMessageBox.Show(strAlert,
                                                "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }