Tag: datagridview

DataGridView CheckBox列不会对基础绑定对象应用更改

我有一个Record对象列表,在DataGridView中作为行。 每个Record都有一个新的bool值Helped 。 果然,这个新值在我的表单中显示为复选标记。 目前的情况是,当选中此框时,它似乎不会更改相应Record的Helped bool的值。 是否需要更改某种只读属性? 如何更改我的表单上的点击作为其DataSource值的变化? 编辑:我找到了System.Windows.Forms.DataGridViewEditMode.EditOnEnter属性,但我仍然没有看到我的Record.Helped属性得到更新。

如何从DataGridView控件中打印值

我有一个具有DataGridView控件的应用程序,该DataGridView在按下“print”按钮时保存我想要打印的数据。 到目前为止,我已经有了“打印”按钮,但是当我在应用程序上打印时,页面出现空白! 如何编辑代码以启用数据打印? public partial class frmViewBookings : Form { private void btnClose_Click(object sender, EventArgs e) { Form3 mainpage = new Form3(); mainpage.Show(); this.Close(); } private void frmViewBookings_Load(object sender, EventArgs e) { this.bookingTableAdapter.Fill(this.usersDataSet1.Booking); } private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) { var myPaintArgs = new PaintEventArgs ( e.Graphics, new Rectangle(new Point(0, 0), this.Size) ); this.InvokePaint(dataGridView1, […]

如何在winforms中的datagridview中将字符串排序为数字

我在datagridview中有数字的字符串列。它没有绑定,我想按照我使用的数字排序 colid.ValueType = typeof(int); grid.Sort(colid, ListSortDirection.Descending); 但是像字符串一样排序,例如: 11 12 23 7 80 81 而预期的是 7 11 12 23 80 81

使用列表作为DataGridView的数据源

我已经将配置文件中的设置名称及其各自的值提取到有序字典中。 字典包含ICollection类的键和值。 我想绑定该数据并将其显示在DataGridView中。 我已经尝试将字符串复制到数组并显示这些数组,但是当我运行程序时,列是空白的,它似乎根本没有绑定。 我还试图将DataGridView源直接设置为有序字典集合(键或值),但这也没有产生我想要的任何东西; 列仍然是空白的。 但是,第三列的列名称为“length”,并显示ICollection中条目的长度。 但不用说我不想要长度,我想要条目本身。 这是我用于此问题的代码:在加载表单时,我加载配置文件,名为m_Settings的私有成员具有所有键值对。 然后我创建一个列表并分别添加键和值。 将绑定源设置为’data’后,我运行程序,我添加的两个列都是空白的。 private void Form4_Load(object sender, EventArgs e) { loadconfigfile(Properties.Settings.Default.Config); List data = new List(); data.Add(m_Settings.Keys); data.Add(m_Settings.Values); bindingSource1.DataSource = data; dataGridView1.DataSource = bindingSource1; dataGridView1.Refresh(); } 有关如何获取有序字典并在标有“设置”和“值”的两列中显示条目的任何想法? 我相信列表是DataGridViews兼容的DataSources,但现在我开始猜测自己了。 任何帮助或方向非常感谢! 如果需要,我很乐意提供更多信息。 谢谢! 编辑 : 以下是已实现的myStruct类的修订代码: List list = new List(); for(int index = 0; index < m_Settings.Count; index++) […]

在DataGridViewComboBoxColumn SelectedIndexChanged期间触发的事件

我有两列DataGridView 。 第一列是TextBoxCol(DataGridViewTextBoxColumn) ,第二列是ComboBoxCol(DataGridViewComboBoxColumn) 。 当ComboBoxCol更改其选定的索引值时,如何更改TextBoxCol值? (这应该在ComboBoxCol更改选定的索引时发生。不在离开列之后,如dataGridView_CellValueChanged ) 我已经阅读了一个与我遇到的几乎相同的问题,但我不明白答案(根据复选标记应该是正确的)。 这是链接。 – 几乎相同的主题

WinForms DataGridView – 数据绑定到具有列表属性的对象(可变列数)

我有一个.NET类,我想在DataGridView中显示,默认的数据绑定 – 将DGV的DataSource设置为对象 – 产生90%的需求(即它正确输出公共属性,我可以轻松添加排序) 。 但是,我需要绑定的属性之一是List,其中包含需要在其他数据绑定项之后的单独列中的数据。 我坚持认为如何最好地实现这一点。 我的课看起来像这样: public class BookDetails { public string Title { get; set; } public int TotalRating { get; set; } public int Occurrence { get; set; } public List Rating { get; set; } } 理想情况下,我可以将Rating属性扩展为多个数字列,以便在运行时提供如下输出: 标题| 总评分| 发生| R1 | R2 | R3 …… RN 将总评分计算为所有单个评级的总和也是有用的,但我现在手动更新该评级没有问题。

如何对数据绑定DataGridView列进行排序?

我知道这个话题有很多问题。 我经历了所有这些,但似乎没有任何帮助。 如何通过单击列标题进行排序? 我应该如何修改此代码来完成这项工作? public partial class Form1 : Form { public Form1() { List list = new List(); list.Add(new MyClass(“Peter”, 1202)); list.Add(new MyClass(“James”, 292)); list.Add(new MyClass(“Bond”, 23)); BindingSource bs = new BindingSource(); bs.DataSource = list; DataGridView dg = new DataGridView(); DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn(); c.Name = “name”; c.DataPropertyName = “Name”; dg.Columns.Add(c); c = […]

选中/取消选中datagridview上的复选框

有人可以帮助我为什么它不起作用? 我有一个checkbox ,如果我点击它,这应取消选中datagridview中的所有复选框,这些复选框在包括用户选中复选框之前已经过检查。 这是代码: private void chkItems_CheckedChanged(object sender, EventArgs e) { foreach (DataGridViewRow row in datagridview1.Rows) { DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells[1]; if (chk.Selected == true) { chk.Selected = false; } else { chk.Selected = true; } } } 不应选中该复选框。 应该检查。 这是添加的列 DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn(); CheckBox chk = new CheckBox(); CheckboxColumn.Width = 20; datagridview1.Columns.Add(CheckboxColumn);

如何在c#中将datatable绑定到datagridview

我需要将我的DataTable绑定到我的DataGridView 。 我这样做: DTable = new DataTable(); SBind = new BindingSource(); //ServersTable – DataGridView for (int i = 0; i < ServersTable.ColumnCount; ++i) { DTable.Columns.Add(new DataColumn(ServersTable.Columns[i].Name)); } for (int i = 0; i < Apps.Count; ++i) { DataRow r = DTable.NewRow(); r.BeginEdit(); foreach (DataColumn c in DTable.Columns) { r[c.ColumnName] = //writing values } r.EndEdit(); DTable.Rows.Add(r); […]

C#DataGridView复选框已检查事件

我想在DataGridView处理CheckBox列的Checked事件,并根据列检查值(true / false)执行操作。 我试图使用CellDirtyStateChanged但没有任何成功。 实际上,我想在用户选中或取消选中复选框后立即检测已检查的更改。 这是关于我的应用程序的描述。 我是c#的新手,并为一个为旅行者提供住宿的地方制作了“预订我的房间”应用程序。 这个屏幕可以很好地解释我希望实现的目标; 这是一个计算员工每小时工资的软件的.GIF,这张照片说明了我想要构建的内容: 在DataGridView显示我的表的代码是: OleDbConnection connection = new OleDbConnection(); connection.Open(); OleDbCommand command = new OleDbCommand(); command.Connection = connection; string query = “select id,cusid,cusname,timein, timeout,duration,amount,remark from entry”; command.CommandText = query; OleDbDataAdapter da = new OleDbDataAdapter(command); DataTable dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt; 我使用这个添加了复选框列; DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn(); […]