我在C#winforms中使用数据网格视图,假设在显示第(N + 1)个空行之后我正在显示n条记录.怎么让它不显示\ hide
为什么有DataGridViewRow.Cells属性,而不是DataGridViewColumn.Cells属性?
对于那些我永远不想在列中迭代的行如此重要?我并不是说它使得它或任何事情变得特别困难,它只是让我觉得奇怪的不对称.
我正在实施一种"填充"类型的行为,它会很方便.
我在WinForms DatagridView中创建了2个按钮,现在我想更改按钮的颜色并设置其标题。我看了看,但找不到财产来做这件事。有人可以指出我正确的方向吗?
我的应用程序中有一个Winforms DataGridView.
我有两个复选框列以及数据库中的其他5列.使用DataGridViewCheckBoxColumn添加这两个复选框列.
当用户单击第二个复选框时,如果未检查该行的第一个复选框,则需要向用户显示一条消息.
我该怎么做?我尝试过这个,但是单元格值是空的.我究竟做错了什么?
private void dgTest_CellClick(System.Object sender, DataGridViewCellEventArgs e)
{
DataGridViewCheckBoxCell officialCbCell = row.Cells[1] as DataGridViewCheckBoxCell;
DataGridViewCheckBoxCell includeCbCell = row.Cells[0] as DataGridViewCheckBoxCell;
if (officialCbCell != null)
{
if (officialCbCell.Value != null && (bool)officialCbCell.Value == true)
{
if (includeCbCell != null && (bool)includeCbCell.Value == false)
{
MessageBox.Show("INVALID");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我创建了一个Windows应用程序,用于在数据网格中显示Gmail对话.除Datagridview绑定之外的所有项都有效.我不知道绑定到Gridview中发生了什么..请查看我的代码片段并给我一个解决此问题的解决方案.在此先感谢..我的代码附加在下面...
GmailItem _gItem = null;
List<GmailItem> lstMail = new List<GmailItem>();
for (int i = 0; i < mailCount; i++)
{
_gItem = new GmailItem();
_gItem = client.GetMailItem(i);
lstMail.Add(_gItem);
}
_bindingMails.DataSource = lstMail;
dgMails.DataSource = _bindingMails;
Run Code Online (Sandbox Code Playgroud)
在设计器页面中,这是Datagridview的代码
this.dgMails.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgMails.Location = new System.Drawing.Point(6, 19);
this.dgMails.Name = "dgMails";
this.dgMails.Size = new System.Drawing.Size(504, 150);
this.dgMails.TabIndex = 0;
Run Code Online (Sandbox Code Playgroud)
此外,我在.CS页面中添加了此代码
dgMails.Dock = DockStyle.Fill;
dgMails.AutoGenerateColumns = true;
Run Code Online (Sandbox Code Playgroud) 循环时是否可以获取当前索引?
for (int i = 0; i < DGV.Rows.Count - 2; i++)
{
myValue = DGV.CurrentRow.Index + " " + DGV.Rows[i].Cells[1].Value.ToString();
}
Run Code Online (Sandbox Code Playgroud)
但我有输出:
0 First
0 Second
0 ...
Run Code Online (Sandbox Code Playgroud)
我想得到:
1 First
2 Second
3 ...
Run Code Online (Sandbox Code Playgroud)
谢谢.
用于添加动态数据的代码
getdata()
{
SqlConnection con = new SqlConnection("Data source=XXXXX;Initial catalog=dummy;integrated security=true");
DataTable dt = new DataTable();
DataColumn col = new DataColumn("Title", typeof(System.String));
dt.Columns.Add(col);
DataRow row = dt.NewRow();
con.Open();
SqlCommand cmd = new SqlCommand("select Title,Description from systemtray", con);
SqlDataReader dr;
dr = cmd.ExecuteReader();
while (dr.Read())
{
string s=dr["Title"].ToString()+Environment.NewLine+dr["Description"].ToString();
row["Title"]= s.Trim();
dt.Rows.Add(row["Title"]);
}
dataGridView1.DataSource = dt;
}
Run Code Online (Sandbox Code Playgroud)
然后我使用properties为datagrid添加了两个按钮.输出是:两个按钮显示在索引[0],[1],数据显示在最后一列,我需要显示索引[0]位置的数据然后两个按钮.我可以手动设置索引.
我有一个form1 和form2..
form1:我有一个带按钮列的datagridview.当我单击任何行的按钮单元格时,相应的行值将传输到form2.那很好用.
表单2:通过使用setter和getter我得到了form1中的值,而我表示了表单2中文本框中的值,这很好.
我在表单2中有一个复选框.当我单击复选框时,我需要删除表单1中的datagrid视图中的行(当我单击按钮单元格时,其行值将转移到表单2.该行将被删除来自form1)中的datagrid视图.
我该如何解决?