Tag: datagridview

在DataGridView中设置所有列运行时的默认值

我在datagridview上添加了n个列。 列数不固定,列的名称也是固定的。 另外,我想为每行中的所有列添加deault值 这些列也在运行时添加,gird的数据源也与类相关联 DbDataEntities db = new DbDataEntities(); var MasterAttendanceTypesDetail = db.MasterAttendanceTypes.ToList(); foreach (string AttendanceType in MasterAttendanceTypesDetail.Select(s => s.AttendanceTypeName).ToList()) { if (!dgv1.Columns.Contains(AttendanceType)) { DataGridViewColumn dgchkCol = new DataGridViewColumn(); dgchkCol.Name = AttendanceType; dgv1.Columns.Add(dgchkCol); } } 网格中添加的列数取决于tabel中的条目数几乎为100。 因此,我如何设置每列的默认值。

C#可视化子类datagridview控件VS2005

也许它是愚蠢的东西,但我在VS2005 C#中的DataGridView控件的子类有问题。 我知道我可以做几乎任何事情的子类 public class MyDataGridView : DataGridView {} 没问题,我在全球范围内提出了一些我想要适用的东西/元素。 现在,我将这个gridview放入一个包含其他控件的自定义用户控件中。 所以我有一些像视觉设计师创造的东西。 我抓住了一些按钮,标签和我的派生“MyDataGridView”。 public partial class MyCompoundDGVPlus : UserControl 所以,现在,我可以根据需要直观地绘制,移动,更改各种设置,没问题。 现在,我希望这个“MyCompoundDGVPlus”类作为其他类的基础,我将操纵特定的设置,但希望所有具有相同的外观/感觉,以及其他类似的流程,因此推导。 我甚至将“修饰符”设置设置为public,因此我应该能够在任何派生级别修改控件的任何属性。 所以,现在,我创建了一个源自“MyCompoundDGVPlus”的新“MyFirstDetailedDGVPlus”子类。 在视觉上,所有标签,按钮,datagridview都会出现。 但是,现在我想在这个类中直观地定义datagridview的列,但它是锁定的。 但是,在表格上的LABEL,我可以获得所有属性设置…. 我错过了什么

DataGridView不显示列/数据

我正在尝试将一些数据加载到DataGridView中,但是DataGridView没有显示数据(即使它在调试模式中说它有项目) protected void PopulateGrid() { string dataSource = “test.db”; String connectionString = “Data Source=” + dataSource; String selectCommand = “SELECT * FROM test_run”; SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(selectCommand, connectionString); DataSet ds = new DataSet(); dataAdapter.Fill(ds); dataGridView1.DataSource = ds; dataGridView1.Refresh(); } 或者它不起作用并出现错误:“datareader已在此命令上处于活动状态” protected void PopulateGrid() { SQLiteConnection SQLconnect = new SQLiteConnection(); SQLiteCommand SQLcommand = default(SQLiteCommand); SQLiteDataAdapter […]

DataGridView,如何捕获单元格的KeyPress事件C#

我想在datagridview c#中为一个单元格进行处理,当我按下一个单元格时,这个特征会打开一个表单。 在C#中没有一个事件(keypress)允许我直接添加我的治疗 在互联网上搜索后,我找到了以下解决方案 private void dGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress); } private void Control_KeyPress(object sender, KeyPressEventArgs e) { if ((Strings.Asc(e.KeyChar) >= Strings.Asc(Keys.A.ToString()) && Strings.Asc(e.KeyChar) >= Strings.Asc(Keys.Z.ToString())) || (Strings.Asc(e.KeyChar) >= Strings.Asc(Keys.D0.ToString()) && Strings.Asc(e.KeyChar) >= Strings.Asc(Keys.D9.ToString()) || (Strings.Asc(e.KeyChar) >= 97 && Strings.Asc(e.KeyChar) > 122))) { —— } } 但它不起作用。 在调试事件的代码dGridView_EditingControlShowing执行但Control_KeyPress函数的代码不运行 任何想法,请

将datagridview行移动到另一个datagridView

对于这类问题,我已经完成了其他答案,到目前为止还没有真正奏效。 我有一个foreach循环,它应该将源datagridview的行添加到目标datagridview然后从源中删除该行。 无效的操作exception是: Row provided already belongs to a DataGridView control. 我无法得到…Rows.Copy()也可以。 有任何想法吗? foreach (DataGridViewRow selRow in fromDataGridView.SelectedRows) { toDataGridView.Rows.Add(selRow); fromDataGridView.Rows.Remove(selRow); }

来自2 ComboBox的类别影响第三个Combobox for datagridview with SQL

把它写成短篇小说 我想要“SELECT companyName FROM table where mainCategory = firstcombobox and subcategory = secondcombobox”,我该怎么做sql查询? ==========================长话 我已经创建了一个带有编码的表单,但我需要额外的帮助。 有点,我坚持试图弄清楚如何让第三个combobox值由第一个和第二个决定。 我想要的是,获得主类别和子类别的值以实现第三个combobox的列表。 我只需要SQL查询,例如:“SELECT companyName FROM table where maincategory = firstcombobox and subcategory = secondcombobox” 然后在主要和子类别的选择中显示公司名称。 像这样 : 对于主类别和子类别,我使用此代码。 此代码还包括第3个ComboBox代码,该代码现在在没有第一个和第二个combobox连接到第3个combobox代码的情况下运行。 public partial class User : Form { Dictionary<string, List> Category = new Dictionary<string, List>(); DataSet ds1; public User() { InitializeComponent(); } […]

当数据源发生更改时,如何防止DataGridView自动滚动?

我在DataTable的“RowChanged”事件中尝试了这个( http://brainof-dave.blogspot.com/2007/08/turning-off-auto-scrolling-in-bound.html ),该事件是数据源的DataGridView,但无济于事。 基本上,我有一个带有BindingSource的DataGridView,因为它是DataSource。 BindingSource的DataSource是一个包含DataTable的DataView。 每当其中一行中的数据发生变化时,DataGridView就会滚动回到顶部。 有一个简单的解决方案吗?

在DataGridComboBox问题中显示枚举值

我有一个名为Series的类的dll。 该类有一个字段,它是DataTypes的枚举。 我将datagrid绑定到此类的对象列表,并且我能够以combobox方式显示枚举值但是,值的名称没有多大意义。 例如,我想将’prc’显示为’price’并仍然代表正确的对象值。 这就是我目前所做的 this.seriesDataTypeColumn.Items.AddRange(new object[] { MuDBLayer.DataType.mv, MuDBLayer.DataType.vol, MuDBLayer.DataType.num, MuDBLayer.DataType.prc, MuDBLayer.DataType.Composite}); mv,vol,num和prc显示在datagridcomboboxes中。 我想显示货币价值,数量,数量和价格而不是任何想法?

使用多选项向上或向下移动一些复杂的DataGridView行

我有一个像这样的DataGridView: 现在,在C#或者VB.Net中 ,有了一个按钮,我想向上或向下移动所选行的一个位置,我怎么能这样做? 多选的必要条件使我复杂化。 DataGridView中出现的文件将合并为一个可执行文件,然后,文件将按“ Order ”列的顺序执行,因此在向上或向下移动行时,“ Order ”值应该是不可变的。 我没有使用任何数据源。 我试图从MSDN分析这个示例,它包含一些扩展方法,但它需要一个数据表和数据源,我没有任何使用数据和数据源的失望但只是我不知道如何适应我的DataGridView的代码示例。 无论如何,样本不支持多选: 向上/向下移动行并记住DataGridView和ListBoxs数据绑定的顺序 我也在StackOverflow上看到了一些关于这个问题的C#问题,但他们要求选择单行: 如何在KeyUp或Keydown上按下向上/向下移动gridview所选行 DataGridView选定的行向上和向下移动 然后,我没有一个起点,只是这些方法移动一个也不保留Order值的SINGLE行,如果有人可以指导我扩展我的需求的function:Private Sub Button_MoveUp_Click(sender As Object,e作为EventArgs)_处理Button_MoveUp.Click Me.MoveUpSelectedRows(Me.DataGridView_Files) End Sub Private Sub Button_MoveDown_Click(sender As Object, e As EventArgs) _ Handles Button_MoveDown.Click Me.MoveDownSelectedRows(Me.DataGridView_Files) End Sub Private Sub MoveUpSelectedRows(ByVal dgv As DataGridView) Dim curRowIndex As Integer = dgv.CurrentCell.RowIndex Dim newRowIndex As Integer = […]

以编程方式在文本框中移动插入符号,排列和向下排列

我正在努力将插入符号移动到DataGridView中的文本框编辑控件中 ,一行向上,一行向下,就像用户在按向上和向下箭头时得到的那样。 所以我的意思不是换行符之间的行,我的意思是文本框左右两边的行。 我不能使用GetCharIndexFromPosition和GetPositionFromCharIndex,因为并非所有文本都将始终显示在文本框显示区域中。 编辑:我无法模拟KeyPress,因为我正在处理DataGridView中的文本框单元格。 我的目标实际上是让箭头键在正常的文本框中执行它们的操作,而不是从一行跳到另一行。