在单个datagridview中显示相关表中的数据==============================================ItemIdManufacturerIdCategoryIdCityIdRegionIdManufacturerIdCityIdNameCategoryRegionIdNameRegionCategoryIdNameManufacturerNameCityNameItemWeight我使用以下代码在DataGridView中显示项目列表:DataSetds=newDataSet();SqlDataAdapterda=newSqlDataAdapter("select,fromnItems";SqlCommandBuildercmdBldr=newSqlCommandBuilder(da);da.Fill(ds,"Items");dataGridView1.DataSource=ds.Tables[0];我也有一个按钮使用以下代码保存对DataGridView的更改:da.Update(ds,"Items");我想替换datagridview中的两列-ManufacturerId和CategoryId,以及相关表中的NameManufacturer和NameCategory。所以这两列应该是ComboBoxes使用相关表中所有可能的名称-以便能够将类别或制造商更改为其他内容并使用da.Update()保存。我还需要向数据网格视图添加三个组合框过滤器:类别、城市和地区,它们将过滤通过这些过滤器中的选定值显示在datagridview中的项目。我不能使用wizardcreator,我必须在代码中做所有事情。如果你能给我一些想法就太好了。ComboBoxColumn对于你想成为组合框的每一列,你应该创建一个DataGridViewComboBoxColumn实例并设置这些属性并将其添加到Grid的Columns:例如,这是CategoryId列的代码:varcategoryAdapter=newSqlDataAdapter(“SELECT*FROMCategories”,connectionString);变种类别表=新数据表();categoryAdapter.Fill(categoryTable);varcategoryComboBoxColumn=newDataGridViewComboBoxColumn();categoryComboBoxColumn.Name="categoryComboBoxColumn";categoryComboBoxColumn.HeaderText="CategoryCatego";;categoryComboBoxColumn.DataPropertyName="CategoryId";categoryComboBoxColumn.DisplayMember="NameCategory";categoryComboBoxColumn.DisplayMember="CategoryId";this.dataGridView1.Columns.Add(categoryComboBoxColumn);表的DefaultView.RowFilter。例如,要根据CategoryId进行过滤,可以创建一个System.Windows.Forms.ComboBox控件并将其命名为categoryComboBox并将其绑定到一个类别以显示类别列表并将其DisplayMember设置为NameCategory,并将其ValueMember设置为然后组合中的CategoryId框:vartable=((DataTable)dataGridView1.DataSource);table.DefaultView.RowFilter=string.Format("CategoryId={0}",categoryComboBox.SelectedValue);您可以通过将筛选器设置为null或空来重置筛选器来执行此操作。也可以使用和/或创建表达式:以上是C#学习教程:在单个datagridview中显示相关表的数据共享的全部内容,如果对大家有用,需要进一步了解C#学习教程,希望你会得到很多关注——varcriteria=newList();如果(categoryComboBox.SelectedIndex>0)criteria.Add(string.Format("CategoryId={0}",categoryComboBox.SelectedValue);如果(cityComboBox.SelectedIndex>0)criteria.Add(string.Format("CityId={0}",cityComboBox.SelectedValue);vartable=((DataTable)dataGridView1.DataSource);table.DefaultView.RowFilter=string.Join("And",criteria);本文来自网络合集,不代表立场。如涉及侵权,请点击维权联系管理员删除,如需转载请注明出处:
