今天要写一个自己的DataGrid,大家给点儿建议 希望實現合併單元格定義Cell類,Cell CurrentCell;Cell.Rect,這樣就可以用各種控件覆蓋上去寫數據了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗬嗬,看你计划得不错。upup。代码嘛,我还没有找到非常好的,都很分散,期待您的大作。 呵呵,好,写好了发份我看下[email protected] 写好了也给我一个参观参观[email protected] 1:希望能把cell的功能定义出来就好了,比如给某个cell改颜色,改字体之类的2:希望完成后给我一份: [email protected]:最好把那50分也给我 :) 现在是讨论怎样写,希望大家的支持,其他的以后再谈我主要是被DataGridTableStyle,DataGridColumnStyle,DataTable,CurrencyManager,DataRow,DataColumn等的事件等的处理能力的不满,对.net技术成熟的公司相信都有自己的这方面的作品,大家发表点建议 兄弟,我用web-DataGrid,已经感觉非常强大了,几乎是只有你想不到的,没有你做不到的,当然封装了以后可能使用上更方便,不过我看win-DataGrid的属性、事件和方法比web-DataGrid多好几倍,应该没有什么问题的呀。 minajo21给我也发一份[email protected][email protected]十分感谢!!! [email protected]think you! 你的问题,这样可以看到效果:public class TextBoxEx:TextBox{ public override bool PreProcessMessage( ref Message msg ) { System.Diagnostics.Trace.WriteLine(String.Format("{0},{1},{2},{3}",msg.HWnd,msg.Msg,msg.LParam,msg.WParam)); return base.PreProcessMessage(ref msg); }}public class Form1 : System.Windows.Forms.Form{ private void Form1_Load(object sender, System.EventArgs e) { TextBoxEx text = new TextBoxEx(); text.Width = 100; text.Height = 20; text.Left = 0; text.Top = 0; text.Visible = true; this.Controls.Add(text); }}在这个textboxEx中,你按键盘上的键,然后在output窗口里面,可以看到类似的结果:984758,256,21495809,38984758,256,22020097,40984758,256,21692417,37984758,256,21823489,39这是上、下、左、右四个箭头的跟踪结果。 至于回车键移动到下一个单元格,上次我给你代码了,还是这个:protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData) { if(enterKeySupport) { if(msg.WParam.ToInt32() == (int) Keys.Enter) { ActionContinueEventArgs e = new ActionContinueEventArgs(true); OnConvertEnterBefore(e); if(false == e.ActionContinue)return base.ProcessCmdKey(ref msg, keyData); SendKeys.Send("{Tab}"); return true; } } return base.ProcessCmdKey(ref msg, keyData); } 应该实现:1.自由合并单元格。2.自定义行数列数,不需要由绑定的DataTable决定行数列数,如:DataGrid.Cols=100;DataGrid.Rows=100;3.可以支持数据绑定,但是不能依赖数据绑定,太不灵活。4.单元格定义字体颜色,背景颜色。5.固定行固定列。最好实现:1.能够支持打印,打印预览,打印设置。2.在不安装Office的机器上导出Excle文件,当然导出XML是基本条件(这个应该容易)。3.支持分页。建议你不要继承DataGrid,自己从头写,有半年时间应该没问题:)。 to CMIC(大象),不要继承DataGrid,我怎样写呀,半年的时间,干脆不做了 to minajo21(大眼睛(WebServ封闭开发中)) ,My E_Mail:[email protected] 我见过一个sourceGrid功能不错,排序,编辑,自动调整宽度等等都有,是完整的开发的,源代码作者都提供了!好像是个美国人写的! 偶也十二分的期待,[email protected]谢谢各位大虾! 如果继承DataGrid,都要override那些? 支持给我一份吧[email protected] 那位收集了Message.Msg,就是Message.ID,可否给我一份,[email protected] 上面的所有资料! 如果愿意请给我 也一并抄一份! 非常感谢[email protected] 支持期待 [email protected]thanks C++中回调函数指针如何在C#中实现啊 关于jsessionid获取的问题 高分求教高手们为什么这样调用后台参数不行 DataGridView手动怎样调整大小 c#预览和打印的时候内容不一致 RegisterClientScriptBlock何如做取消操作 如何实现IList,ICollection,IEnumerable这3个接口。。。 TCP 发送数据速度如何控制? 求救啊。如何用ITextSharp将html转成PDF啊??好几天了。 联盟提问 为什么手动创建的DataGrid无法取得item集合? 什么问题!请高手解决一下!
[email protected]
[email protected]
[email protected]
[email protected]
十分感谢!!!
think you!
{
public override bool PreProcessMessage( ref Message msg )
{
System.Diagnostics.Trace.WriteLine(String.Format("{0},{1},{2},{3}",msg.HWnd,msg.Msg,msg.LParam,msg.WParam));
return base.PreProcessMessage(ref msg);
}
}public class Form1 : System.Windows.Forms.Form
{
private void Form1_Load(object sender, System.EventArgs e)
{
TextBoxEx text = new TextBoxEx();
text.Width = 100;
text.Height = 20;
text.Left = 0;
text.Top = 0;
text.Visible = true;
this.Controls.Add(text);
}
}在这个textboxEx中,你按键盘上的键,然后在output窗口里面,可以看到类似的结果:
984758,256,21495809,38
984758,256,22020097,40
984758,256,21692417,37
984758,256,21823489,39
这是上、下、左、右四个箭头的跟踪结果。
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
if(enterKeySupport)
{
if(msg.WParam.ToInt32() == (int) Keys.Enter)
{
ActionContinueEventArgs e = new ActionContinueEventArgs(true);
OnConvertEnterBefore(e);
if(false == e.ActionContinue)return base.ProcessCmdKey(ref msg, keyData);
SendKeys.Send("{Tab}");
return true;
}
}
return base.ProcessCmdKey(ref msg, keyData);
}
1.自由合并单元格。
2.自定义行数列数,不需要由绑定的DataTable决定行数列数,如:
DataGrid.Cols=100;
DataGrid.Rows=100;
3.可以支持数据绑定,但是不能依赖数据绑定,太不灵活。
4.单元格定义字体颜色,背景颜色。
5.固定行固定列。
最好实现:
1.能够支持打印,打印预览,打印设置。
2.在不安装Office的机器上导出Excle文件,当然导出XML是基本条件(这个应该容易)。
3.支持分页。建议你不要继承DataGrid,自己从头写,有半年时间应该没问题:)。
谢谢各位大虾!
期待
[email protected]
thanks