winform将含有超过两列的DataTable值绑定到combobox,并有"请选择"或"全部"选择项

        #region 显示多列DataTable到combobox
        /// <summary>
        /// 显示多列DataTable到combobox
        /// </summary>
        /// <param name="dataTable">含有超过两列的DataTable</param>
        /// <param name="comboBox">combobox控件名</param>
        /// <param name="TextColumn">显示的text对应的列</param>
        /// <param name="ValueColumn">value值对应的列</param>
        /// <param name="isNeedShowEmpty">是否显示‘请选择’</param>
        /// <param name="isNeedShowAll">是否显示‘全部’</param>
        public static void ToDataTableCombobox(DataTable dataTable, ComboBox comboBox, string TextColumn, string ValueColumn, bool isNeedShowEmpty, bool isNeedShowAll)
        {
            if (dataTable == null || comboBox == null || dataTable.Columns.Count == 0)
            {
                return;
            }
            DataTable dtnew = new DataTable();
            dtnew.Columns.Add("text");
            dtnew.Columns.Add("value");
            if (isNeedShowEmpty)
            {
                DataRow emptyRow = dtnew.NewRow();
                emptyRow[1] = "";
                emptyRow[0] = "--请选择--";
                dtnew.Rows.InsertAt(emptyRow, 0);
            }
            else if (isNeedShowAll)
            {
                DataRow emptyRow = dtnew.NewRow();
                emptyRow[1] = "";
                emptyRow[0] = "全部";
                dtnew.Rows.InsertAt(emptyRow, 0);
            }
            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                DataRow dr = dtnew.NewRow();
                dr["text"] = dataTable.Rows[i][TextColumn];
                dr["value"] = dataTable.Rows[i][ValueColumn];
                dtnew.Rows.Add(dr);
            }

            comboBox.DataSource = dtnew;//GetItemList()
            comboBox.DisplayMember = dtnew.Columns[0].ColumnName;//"text";
            comboBox.ValueMember = dtnew.Columns[1].ColumnName; //"value";
        }
        #endregion
时间: 2024-11-10 10:15:18

winform将含有超过两列的DataTable值绑定到combobox,并有"请选择"或"全部"选择项的相关文章

sqlserver 一张表两列都的值都相同处理

 今天业务需要,网上没找到  最后写出来了就留个印以备查阅 #T1表中 A,B 列 至少三行都相同的数据 SELECT * FROM #T1 t1 WHERE ( SELECT COUNT(*) FROM( SELECT DISTINCT A,B FROM #T1 WHERE A=t1.A ) A )=1 AND (SELECT DISTINCT COUNT(ID) FROM #T1 WHERE A=t1.A)>=3 ORDER BY t1.A

查询-vb.net 在一个datatable 中,年和月在两列中。如何查找在某一时间区间的值。

问题描述 vb.net 在一个datatable 中,年和月在两列中.如何查找在某一时间区间的值. 例如我想查询2014-9 至2015-1的,就把2013-8月份的去除了. 解决方案 取datatable中每行中年和月的值拼接在一起,在做比较 解决方案二: datatable加一个DataColumn 设置Expression 属性 DocumnetYear+'-'+DocumnetMonthhttps://msdn.microsoft.com/zh-cn/library/system.dat

取datatable中的两列

问题描述 取datatable中的两列绑定到gridview中.谁知道?谢谢!!!! 解决方案 解决方案二:没看明白.其它列不用?为什么不在SQL里先筛选.解决方案三:在gridview就设置两个绑定列.绑到你相应的datatable列上.同意一楼的看法..不用的列为啥不在sql里去掉解决方案四:解决方法:可以使用ToTable方法,用法如下:DataTabledt=GetData();//这里假设是获取数据源DataTablenewdt=dt.DefaultView.ToTable(false

Excel技巧之对超过3列的数据排序

  对于许多经常使用Excel排序功能的用户来说,"排序"对话框只允许一次性设置3个关键字的限制实在难以满足需要.在如图所示的工作表中,有一个 5列数据的表格,如果需要按从左向右为关键字次序来排序,就成了一个难题,当单击菜单"数据"→"排序"后,在"排序"对话框中,无法设置"完成日期"和 "责任人"字段. 图1 Excel表格排序 事实上,Excel的排序的关键字并不受上图中这个对话框的

datagrid如何实现两列相加

问题描述 datagrid如何实现两列相加 解决方案 解决方案二:如果两列皆为数字的话,可以相加的.for(inti=0;i<datagrid.rows.count;i++){datagrid.row[i].cells["相加结果保存列"].value+=datagrid.rows[i].cells["你想相加的另外一列"]:}如果是数据绑定的模式也可以在datatable中使用循环相加,然后再帮当到datagrid中.解决方案三:如果两列皆为数字的话,可以相

怎么将Reapter显示的新闻分为两列 3行两列的形式

问题描述 怎么将Reapter显示的新闻分为两列3行两列的形式如:从数据库当中查询出6条记录,在Reapter控件中显示原先的:新闻1新闻2新闻3新闻4新闻5新闻6后来的:新闻1新闻2新闻3新闻4新闻5新闻6在线等!!!高手帮帮忙!!! 解决方案 解决方案二:在模板里面自己先<table><tr><td></td></tr></table>完成就可以了解决方案三:你写好布局,布局一个横排的样式.然后去reapter里面循环就可以啊解决

phpexcel导出超过26列解决方案

原文:phpexcel导出超过26列解决方案   将列的数字序号转成字母使用,代码如下:  PHPExcel_Cell::stringFromColumnIndex($i); // 从o,1,2,3,..开始,相应返回返回 A,B,C,...Z,AA,AB,...   将列的字母转成数字序号使用,代码如下:   PHPExcel_Cell::columnIndexFromString('AA');     使用phpexcel导出excel文件的时候,发现报了一个错误,后来查询问题才发现是列数超

VB.net MSchart画图绑定数据库中两列数据。

问题描述 VB.net MSchart画图绑定数据库中两列数据. 请问用MSchart画图时,怎么绑定数据库中两列数据,我用的数据库是access,希望大家帮忙帮忙. 解决方案 无论你用什么数据库,总能取到一个 DataTable吧. chart1.DataBindCrossTable(dt.DefaultView, "分组字段名", "x坐标字段名", "y坐标字段名", "", PointSortOrder.Ascendi

如何用C# 来比较EXCEL表中两列数据的差异?

问题描述 EXCEL有A,B两列数据:A列B列1112233344如何用C#找出A列在B列中没有的数据,并显示在另一个EXCEL中,谢谢. 解决方案 解决方案二:首先你必须把excel里的数据读出来然后管你是放到一个DataTable里还是2个List<string>里,最后也不过是循环比较一下,然后再把比较结果放到一个新的DataTable或List里,然后导出excel就行了至于如何导入导出Excel解决方案三:引用1楼Z65443344的回复: 首先你必须把excel里的数据读出来然后管