获取DataGridView绑定BindingSource的数据表,并根据树控件点击进行筛选数据表,下拉控件自定义排序问题初步解决方法,解决了该行属于另一个表的错误提示.
2013-12-19 19:44
1341 查看
2013年12月19日→星座:射手座
二〇一三年冬月十七
癸巳〖蛇〗甲子月己未日癸酉时
今属:土;五行:水火木土金;缺:。
纳音五行:长流水。
阿弥陀佛圣诞
数据表排序与数据筛选
二〇一三年冬月十七
癸巳〖蛇〗甲子月己未日癸酉时
今属:土;五行:水火木土金;缺:。
纳音五行:长流水。
阿弥陀佛圣诞
void 保存记事历XML(/*获取DataGridView绑定BindingSource的数据表,并根据树控件点击进行筛选数据表*/) { string 表名 = (树.SelectedNode != null) ? ((DataRow)树.SelectedNode.Tag).Table.TableName : (string)编辑控表.Tag, 选名 = (树.SelectedNode != null) ? 树.SelectedNode.Text : "";/*用于从众多项目中选择*/ ((BindingSource)编辑控表.DataSource).EndEdit(); DataTable 数据表 = (((BindingSource)编辑控表.DataSource).DataSource.GetType().Name == "DataTable") ? (DataTable)(((BindingSource)编辑控表.DataSource).DataSource) : ((DataSet)((BindingSource)编辑控表.DataSource).DataSource).Tables[表名]; //DataColumn[] 列集 = new DataColumn[数据集.Columns.Count]; //数据集.Columns.CopyTo(列集, 0); //string[] 列名 = new string[数据集.Columns.Count]; int 计数 = 0; //foreach (DataColumn 元 in 数据集.Columns) { 列名[计数] = 元.ColumnName; 计数++; } string[] 列名 = new string[编辑控表.Columns.Count], 节径 = 树.SelectedNode.FullPath.Replace("\\", "·").Split('·'); int 计数 = 0; foreach (DataGridViewColumn 元 in 编辑控表.Columns) { if (!"密码 ID".Contains(元.HeaderText)) 列名[计数] = 元.HeaderText; 计数++; } 列名 = 列名.OfType<string>(/*去掉数组中为null的元素数组自动减小*/).ToArray(); DataView 筛选表 = 数据表.DefaultView.ToTable(true, 列名).DefaultView; if (选名 != "") 筛选表.RowFilter = 列名[节径.Length - 1] + " ='" + 选名 + "'"; 数据表 = (选名 != "") ? 筛选表.ToTable() : 数据表; 选名 = (选名 != "") ? "[" + 选名 + "]" : "[全选]"; 数据表.WriteXml(数据表.TableName + 选名 + ".xml"); }
数据表排序与数据筛选
DataTable 排序表 = 数据表.Tables["表名"].DefaultView.ToTable(true, "数据字段").Select("数据字段 like '%段'", "数据字段").CopyToDataTable(), DataRow 新增 = 排序表.NewRow(); 新增[0] = "请选择"; 排序表.Rows.InsertAt(新增, 0); foreach (DataRow 数据行 in 数据表.Tables["表名"].DefaultView.ToTable(true, "数据字段").Select("数据字段 like '%泓%'", "数据字段").CopyToDataTable().Rows) 排序表.Rows.Add(数据行.ItemArray);/*解决了该行属于另一个表的错误提示,同时解决了默认加载时前面带数字的不同字符串间无序问题,如:01段,01泓1,02段,02泓2,要的效果是:01段,02段,01泓1,02泓2*/ 下拉控件.DataSource = 排序表; 下拉控件.ValueMember = "数据字段"; 下拉控件.Text = "请选择";
相关文章推荐
- Datatable添加数据,提示该行已经属于另一个表的解决方法
- Datatable添加数据,提示该行已经属于另一个表的解决方法
- 如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- 出错提示为:该行已经属于另一个表 的解决方法
- 出错提示为:该行已经属于另一个表 的解决方法
- VS2015中DataGridView的DataGridViewComBoboxCell列值无效及数据绑定错误的解决方法
- 出错提示为:该行已经属于另一个表 的解决方法
- vue遇到过的坑(父组件向输入框组件传值进去,然后子组件利用传进来的数据进行数据绑定的问题与解决方法)
- Winform中DataGridView绑定List<T>数据源时,点击DataGridView列头不能自动排序解决方法
- C#两个DataTable拷贝问题:该行已经属于另一个表的解决方法
- asp.net asp:TextBox控件绑定值后,获取不到新值问题解决方法
- 通过findViewById()方法从layout中获取view并进行相应的转换时提示:"Cannot cast from View to AutoCompleteTextView"的解决办法!(转+自己错误)
- Java 简单解决springmvc获取properties文件里面中文内容出现论码问题(我遇到的问题是数据提交检验时返回的错误提示出现乱码)
- 出错提示为: "该行已经属于另一个表" 解决方法
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
- DataGridView绑定List<T>数据源时,点击DataGridView列头自动排序解决方法
- C#两个DataTable拷贝问题:该行已经属于另一个表的解决方法
- asp.net中提示该行已属于另一个表的解决方法
- asp.net中提示该行已属于另一个表的解决方法