当前位置:编程学习 > C#/ASP.NET >>

DataGridView控件添加鼠标选定ToolTip显示合计

[csharp]
/// <summary>  
        /// DataGridView多行选择求和  
        /// </summary>  
        /// <param name="myDataGridView">要求合计提示的DataGridView控件</param>  
        /// <param name="TooLar">传入的ToolTip控件.</param>  
        /// <returns></returns>  
        public bool DataGridViewSum(DataGridView myDataGridView, ToolTip TooLar) 
        { 
            if (myDataGridView.SelectedCells.Count < 2) 
            { 
                TooLar.RemoveAll(); 
                return false; 
            } 
            //如果选择的单元格是全部,且大于:10000,则认为是不是求合计的操作  
            if (myDataGridView.SelectedCells.Count > 10000 && myDataGridView.SelectedCells.Count == myDataGridView.GetCellCount(DataGridViewElementStates.None)) 
            { 
                TooLar.RemoveAll(); 
                return false; 
            } 
  
            DataSet DS = new DataSet(); 
            DataTable DtGroup = new DataTable("DtGroup");//保存列名  
            System.Collections.ArrayList NameMaxLength = new System.Collections.ArrayList();//保存DT中列名的长度  
            System.Collections.ArrayList ValueMaxLength = new System.Collections.ArrayList();//保存DT中列名的长度  
            DataTable DT = new DataTable("DT");//保存列名及数据  
            DtGroup.Columns.Add("ColumnName", System.Type.GetType("System.String"));//字段名  
  
            DT.Columns.Add("ColumnName", System.Type.GetType("System.String"));//字段名  
            DT.Columns.Add("ColumnValue", System.Type.GetType("System.Decimal"));//字段值  
  
            foreach (DataGridViewCell DC in myDataGridView.SelectedCells) 
            { 
                if (DC.ValueType.Name.ToLower() == "decimal" || DC.ValueType.Name.ToLower() == "int32") 
                { 
                    DataRow DR; 
                    DR = DT.NewRow(); 
                    DR["ColumnName"] = myDataGridView.Columns[DC.ColumnIndex].Name; 
                    if (DC.Value == null) 
                    { 
                        DR["ColumnValue"] = 0; 
                    } 
                    else 
                    { 
                        DR["ColumnValue"] = DC.Value; 
                        ValueMaxLength.Add(DC.Value.ToString().Length); 
                    } 
                    DT.Rows.Add(DR); 
                    //在现有DtColName中查找是否包含了这个列名  
                    if (DtGroup.Select("ColumnName='" + myDataGridView.Columns[DC.ColumnIndex].Name + "'").Length == 0) 
                    { 
                        DataRow DR1; 
                        DR1 = DtGroup.NewRow(); 
                        DR1["ColumnName"] = myDataGridView.Columns[DC.ColumnIndex].Name; 
                        DtGroup.Rows.Add(DR1); 
                        NameMaxLength.Add(myDataGridView.Columns[DC.ColumnIndex].Name.Length); 
                    } 
                } 
            } 
            DS.Tables.Add(DT); 
   &
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,