社区
C#
帖子详情
DATAGRID列中加不同控件
evaELLIS
2007-07-17 10:33:56
DATAGRID列中加不同控件,有WINFORM的例子吗,请提供以下,谢谢
...全文
349
16
打赏
收藏
DATAGRID列中加不同控件
DATAGRID列中加不同控件,有WINFORM的例子吗,请提供以下,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wxg22526451
2007-07-18
打赏
举报
回复
Mark~
wuxiangtuan
2007-07-18
打赏
举报
回复
DataGridView我比较熟
DataGrid有点忘记了
evaELLIS
2007-07-17
打赏
举报
回复
我都不知道信譽值怎么少的,还有代码,请提供一下,谢谢
huiaccp
2007-07-17
打赏
举报
回复
看你信譽值不高,給分不?
jiezhi
2007-07-17
打赏
举报
回复
ref:
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q480q
Jinglecat
2007-07-17
打赏
举报
回复
不会 winform
wuxiangtuan
2007-07-17
打赏
举报
回复
up
evaELLIS
2007-07-17
打赏
举报
回复
UP
hamehameha
2007-07-17
打赏
举报
回复
UP
vainnetwork
2007-07-17
打赏
举报
回复
关注,帮顶
cbgn
2007-07-17
打赏
举报
回复
amandag(高歌)
我用他的已经做出来了,要用datagrid
evaELLIS
2007-07-17
打赏
举报
回复
就是列中第一行是TEXTBOS第二行是COMBOBOX,第三行是BUTTON,高人给看看
amandag
2007-07-17
打赏
举报
回复
public FrmCustomerDataGrid()
{
InitializeComponent();
PopulateGrid();
}
private void PopulateGrid()
{
///创建填充数据的表结构
dt = new DataTable ("dtPerson");
string [] strTitles = new string [3] {"姓名","学历","职务"};
DataColumn dc = null;
//创建前面三列,全部是字符串类型,第一列列名为"姓名",第二列为“学历”,第三列“职务”
for(int i = 0; i < 3; i++)
{
dc = new DataColumn(strTitles[i]);
dc.DataType = Type.GetType("System.String");
dc.DefaultValue = string.Empty;
dt.Columns.Add(dc);
}
//创建第四列,Bool类型,列名"在职"
dc = new DataColumn("在职");
dc.DataType = System.Type.GetType("System.Boolean");
dc.DefaultValue = false;
dt.Columns.Add(dc);
//指定DataGrid数据源
dbgNewGrid.DataSource = dt;
//为定义的DataGrid取名"Style_Person"
if(!dbgNewGrid.TableStyles.Contains("Style_Person"))
{
//定制DataGridTableStyle,用于整个DataGrid
DataGridTableStyle dbgStyle = new DataGridTableStyle();
dbgStyle.MappingName = dt.TableName;
dbgNewGrid.TableStyles.Add(dbgStyle);
dbgStyle.RowHeadersVisible = false;
dbgStyle.HeaderBackColor = Color.LightSteelBlue;
dbgStyle.AllowSorting = false;
dbgStyle.HeaderBackColor = Color.FromArgb(8,36,107);
dbgStyle.RowHeadersVisible = false;
dbgStyle.HeaderForeColor = Color.White;
dbgStyle.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 9F,
System.Drawing.FontStyle.Bold,
System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
dbgStyle.GridLineColor = Color.DarkGray;
dbgStyle.PreferredRowHeight = 22;
dbgNewGrid.BackgroundColor = Color.White;
//通过GridColumnStyles设置列属性,以下设置列的宽度
GridColumnStylesCollection colStyle = dbgNewGrid.TableStyles[0].GridColumnStyles;
colStyle[0].Width = 50;//姓名
colStyle[1].Width = 100;//学历
colStyle[2].Width = 50;//职务
colStyle[3].Width = 40;//是否在职
}
//下面定制“学历”列,这里若要定制其他列可以修改GridColumnStyles[1]中的数值
DataGridTextBoxColumn dgTextBoxColumn = (DataGridTextBoxColumn)dbgNewGrid.TableStyles[0].GridColumnStyles[1];
//定制为ComboBox类型,若想定义成其他类型的可以在这里定制
ComboBox dgComboBoxColumn = new ComboBox();
dgComboBoxColumn.Items.AddRange(new object[]{"本科","硕士","博士"});//添加选项
dgComboBoxColumn.Cursor = Cursors.Arrow;
dgComboBoxColumn.DropDownStyle= ComboBoxStyle.DropDownList;
dgComboBoxColumn.Dock = DockStyle.Fill;
///在选定项发生更改并且提交了该更改后发生
dgComboBoxColumn.SelectionChangeCommitted += new EventHandler(dgComboBoxColumn_SelectionChangeCommitted);
///把ComboBox添加到DataGridTableStyle的第一列
///在默认的TextBox控件里面添加入你所定义的控件
dgTextBoxColumn.TextBox.Controls.Add(dgComboBoxColumn);
}
//设置焦点模拟
private void GetFocus(int row,int col)
{
///先把焦点移动到DataGrid
this.dbgNewGrid.Focus();
// 把焦点移动到DataGridCell
DataGridCell dgCell = new DataGridCell(row,col);
this.dbgNewGrid.CurrentCell = dgCell;
DataGridTextBoxColumn dgTextBoxColumn = (DataGridTextBoxColumn)dbgNewGrid.TableStyles[0].GridColumnStyles[col];
///设置焦点
dgTextBoxColumn.TextBox.Focus();
}
//把Combobox上修改的数据提交到当前的网格
private void dgComboBoxColumn_SelectionChangeCommitted (object sender, EventArgs e )
{
dbgNewGrid[this.dbgNewGrid.CurrentCell] = ((ComboBox)sender).SelectedItem.ToString();
}
///设置新的焦点
private void btnFocus_Click(object sender, System.EventArgs e)
{
//焦点模拟,这里设置第三行第一列
GetFocus(2,0);
}
liubin911
2007-07-17
打赏
举报
回复
帮顶,我只在WEB中模板列中加控件,WINFORM没用过
evaELLIS
2007-07-17
打赏
举报
回复
顶
evaELLIS
2007-07-17
打赏
举报
回复
顶
mysql limit 1 (报错信息:Subquery returns more than 1 row)
limit 1: 查询出满足条件的一条结果就返回,避免全表扫描。 举例说明:
列
出那些薪金等于部门10030中的任何一个雇员的薪金的雇员的姓名和薪金 查询语句: select ename,salary from t_emp where salary=(select salary from t_emp where deptid=10030 limit 1); 查询结果: 要查询的t_emp表: ...
MySQL 子查询(二)
接上篇文章,从这节起:MySQL 5.713.2.10.5Row Subqueries 五、行子查询(ROW Subqueries) 标量子查询返回单个值,
列
子查询返回一个
列
的多个值。而行子查询是子查询变体,它返回单个行,因此可以返回多个
列
值。 可用于行子查询比较的操作符如下: = > < >= <= <> != ...
sql - 子查询
sql - 子查询
MYSQL order by 排序的一个小问题探究
小问题发现: select * from `sql` where id=1 order by (select 1 union select 2) 正常返回结果 mysql> select * from `sql` where id=1 order by (select 1 union select 2); +----+------+ | id | new | +-...
SQL实战五题:从窗口函数到动态时间窗口的业务翻译训练
SQL不仅是查询语言,更是将模糊业务需求转化为精确数据逻辑的翻译器。其核心难点在于处理时序关系、粒度歧义与状态演化等现实约束——如‘最近三次订单’需用ROW_NUMBER()配合稳定排序破除时间戳歧义,‘下单后24小时取消’依赖自连接与时间差计算实现事件对匹配。窗口函数实战和动态时间窗口设计成为解决多层嵌套、递归路径与条件聚合等高频痛点的关键技术支点,广泛应用于用户分层、风控分析、复购率计算及生命周期建模等真实BI与数据产品场景。
C#
111,130
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章