动态绑定数据源,不使用datagridtextbox列,列因为是动态的,但是要实现点右键不能弹出系统菜单
解决方案 »
- 帮忙写个CRC校验程序
- 用C#怎么读取XML指定节点下的值?
- 左键菜单
- .net下使用mscomm的问题
- [强烈推荐]ASP.Net(C#)数据库操作类SqlHelper.cs OleDbHelper.cs OracleHelper.cs下载
- 我想在Treeview的子节点中显示多行文本,请问怎么实现?
- 如何通过OleDbDataAdapter填充多个存储过程产生的多张表到DataSet,每张表表结构不一样
- 一个错误提示
- C#编译环境的问题!有没有人知道怎么解决啊
- 两个DataTime可以直接减么?以前看到有人说可以,可我这里怎么就错了呢?
- 知道本机的SESSIONID,怎么获得SESSION值?
- 问下:如何将流中当前位置开始到末尾(这段长度肯定是未知的)的数据读到一个byte[]中啊?
DataColumn dc = new DataColumn("id", typeof(int));
dt.Columns.Add(dc); DataRow row = dt.NewRow();
row["id"] = "1121"; dt.Rows.Add(row); this.dataGrid1.DataSource = dt;
//设置格式。
DataGridTableStyle ddd = new DataGridTableStyle();
DataGridTextBoxColumn idcol = new DataGridTextBoxColumn();
idcol.MappingName = "id"; ContextMenu cm = new ContextMenu();
//使右键无菜单。
idcol.TextBox.ContextMenu = cm;
ddd.GridColumnStyles.Add(idcol);
this.dataGrid1.TableStyles.Add(ddd);举个例子DataGridTableStyle ,应该是楼主要的效果。
DataGridTextBoxColumn
不使用以上两个东东,是动态
{
this.ResizeRedraw = true; DataTable dt = new DataTable ();
DataColumn dc = new DataColumn("id", typeof(int));
dt.Columns.Add(dc); DataColumn dc2 = new DataColumn("id2", typeof(string));
dt.Columns.Add(dc2); DataColumn dc3 = new DataColumn("id3", typeof(string));
dt.Columns.Add(dc3); DataRow row = dt.NewRow();
row["id"] = "1121";
row["id2"] = "asdfasfd";
row["id3"] = "asfsda"; dt.Rows.Add(row);
this.dataGrid1.DataSource = dt;
DataGridTableStyle ddd = this._makeTableStyle(dt);
this.dataGrid1.TableStyles.Clear();
this.dataGrid1.TableStyles.Add(ddd);
} private DataGridTableStyle _makeTableStyle(DataTable dt)
{
DataGridTableStyle ddd = new DataGridTableStyle();
ContextMenu cm = new ContextMenu();
foreach(DataColumn dc in dt.Columns)
{
DataGridTextBoxColumn col = new DataGridTextBoxColumn();
col.MappingName = dc.ColumnName;
col.HeaderText = dc.ColumnName;
col.TextBox.ContextMenu = cm;
ddd.GridColumnStyles.Add(col);
}
return ddd;
}列是动态的吗??用这两个可以解决啊.DataGridTableStyle DataGridTextBoxColumn
如果还要其他的要求什么的(比如dropdownlist..,隐藏某一列什么的)你可以继承DataGridTextBoxColumn,自己写个类好了,便于控制.