C#中的DataGridView控件(WIN FORM)
来源:互联网 发布:vscode环境搭建 编辑:程序博客网 时间:2024/05/22 07:56
Q:如何让DataGridView 自适应内容的宽度?
A:改变AutoSizeColumnMode属性
ps:DataGridViewAutoSizeColumnsMode.Fill; 自动调整列宽,在一屏内显示所有的列(没有横向的滚动条)
DataGridViewAutoSizeColumnsMode.AllCells; 自动调整列宽,适应所有单元格包括列头。
Q:我不想在DataGridView中编辑数据,我要自己控制
A:可以这样:
dgvColorGroup.ReadOnly = true;
dgvColorGroup.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
Q:如何对DataGridView的数据绑定操作?
sqlCon.Open();
strSql = "SELECT Name,Amount FROM Store"
BindingSource bsCargo = new BindingSource();
SqlDataAdapter sqlDA = new SqlDataAdapter(strSql, sqlCon);
SqlCommandBuilder sqlcb = new SqlCommandBuilder(sqlDA);
dtStock = new DataTable();
sqlDA.Fill(dtStock);
dgvStock.DataSource = dtStock;
dataGridView事件发生顺序
绑定数据,DataBindingComplete事件发生,
dataGridView无数据,设置DataSource属性(进行数据绑定),SelectionChanged发生,RowEnter发生,填充数据,CellEnter发生,第二次SelectionChanged发生,DataBindingComplete发生
dataGridView有数据,不变单元格(鼠标点击),CellClick发生;
dataGridView有数据,不变行,改变单元格(鼠标点击或键盘方向),CellEnter发生;
dataGridView有数据,改变单元格行(鼠标点击或键盘方向),
RowEnter发生(CurrentRow为原来的行),CellEnter发生(CurrentRow为原来的行),SelectionChanged发生。
所以如果想做主从表数据联动效果,最好是在SelectionChanged事件中写代码。之前要把dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
Q:DataGridView 不显示最下面的新行?
A:通常 DataGridView 的最下面一行是用户新追加的行(行头显示 * )。如果不想让用户新追加行即不想显示该新行,可以将 DataGridView 对象的 AllowUserToAddRows 属性设置为 False。
DataGridView如何马上定位到某一行
DataGridView.CurrentCell = DataGridView.Rows[你要的行索引].Cells[0];
Q:如何用两个dgv显示数据库主从表内容?
A:只要在显示主表的dgv1的SelectionChanged事件中写查询代码
private void dgvColorGroup_SelectionChanged(object sender, EventArgs e)
{
FillDgvColorDetail();
}
如果是窗体加载后即根据主表显示从表,则应做如下处理
if (null != dgvColorGroup.CurrentRow)
{// 如果主表中存在当前行
DataGridViewRow dgvRow = dgvColorGroup.CurrentRow; //当前行
//如果在得到主表的SQL语句中有AS转变了列名,则从表取查询关键字时要用新列名,如下:
string currentCGC = dgvRow.Cells["颜色组代码"].Value.ToString();
string sqlString = CGlobal.T_COLOR_DETAIL_SELECT + " WHERE fColorGroupCode = '" + currentCGC + "'";
DataSet myDataSetCGDetail = new DataSet();
myDataSetCGDetail = mySQLManager.GetMySqlDataSet(CommandType.Text, sqlString);
if (null != myDataSetCGDetail.Tables && 1 == myDataSetCGDetail.Tables.Count && 0 < myDataSetCGDetail.Tables[0].Rows.Count)
{// 查到了颜色组明细记录
dgvColorGroupDetail.DataSource = myDataSetCGDetail.Tables[0];
bColorGroupDetailDelete.Enabled = true;
}
else
{
bColorGroupDetailDelete.Enabled = false;
}
Q:如何在最后添加合计行?
A:http://www.codeproject.com/Articles/51889/Summary-DataGridView
Summary DataGridView
Q:如何删除当前行?
A: dgvCustomer.Rows.RemoveAt(dgvCustomer.CurrentRow.Index);
- C#中的DataGridView控件(WIN FORM)
- C#中的DataGridView控件(WIN FORM),数据绑定与数据联动
- c#中的DataGridView控件怎么用啊
- WIN C# DATAGRIDVIEW 合计行
- 扩展Win Forms C#中DataGridView控件,展示Outlook式风格
- c# DataGridView控件使用
- c#控件-datagridview
- C# DataGridView控件
- C#中使用DataGridView控件显示数组中的内容
- C#中使用DataGridView控件显示DataTable中的数据
- c# Form中向DataGridView控件添加数据的三种方式
- DataGridView控件中的“玄机”
- C#中的静态函数,如何操作Form中的控件?
- [WINFORM]C#中的DataGridView
- C#中的DataGridView
- C#中的DataGridView
- IP地址 控件 Win Form usercontrol
- 跨线程程访问Win form 控件
- vocabulary: unclassified cipher lobby ...
- C语言的宏定义(49)
- C语言的宏用法及include(50)
- 数据库的存储过程
- 晚上要理理发,换个样子
- C#中的DataGridView控件(WIN FORM)
- 诺顿无法启动扫描,扫描引擎返回错误0x20000058错误
- PPM / PGM / PBM 图像文件格式
- WEBWORK的架构图
- 让你明白什么是ERP
- Delphi中TXMLDocument控件的用法
- 常用的JS命令大全
- 删除SQL SERVER数据库日志
- 优秀论文的五大要素