datagridview中的CellFormatting事件,e.FormattingApplied设置无效

qq_37753824 2019-08-28 04:00:25
每次格式化完我都会把e.FormattingApplied=true;
但是控件还是一直在格式化。
跟踪显示e.FormattingApplied=false;
这是怎么回事?
...全文
470 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ManBOyyy 2019-09-10
  • 打赏
  • 举报
回复
引用 15 楼 qq_37753824 的回复:
引用 14 楼 ManBOyyy 的回复:
別說那麼多,你就弄一行一列,,達到效果了嗎?你測試先,再告訴我
你做程序一个表格就一行一列的?说了你自己去试一下.不就是了。

上次已經測試過了,這次剛剛也測試了,還是一樣,估計你調試都不會,不用說了,不會調試就寫出調試過程來吧,那一步不會調試,如果有空會告訴你的
qq_37753824 2019-09-10
  • 打赏
  • 举报
回复
引用 14 楼 ManBOyyy 的回复:
別說那麼多,你就弄一行一列,,達到效果了嗎?你測試先,再告訴我
你做程序一个表格就一行一列的?说了你自己去试一下.不就是了。
ManBOyyy 2019-09-09
  • 打赏
  • 举报
回复
別說那麼多,你就弄一行一列,,達到效果了嗎?你測試先,再告訴我
qq_37753824 2019-09-07
  • 打赏
  • 举报
回复
引用 12 楼 ManBOyyy 的回复:
我不想和你說那麼多,我就直接告訴你吧,你判斷一下列名是什麼就單元格格式化就行了,明白嗎?不要說那麼多,測試OK的
没看到我的问题么? 问题是 他格式化完 后台还是一直会有在执行格式化代码。
ManBOyyy 2019-09-06
  • 打赏
  • 举报
回复
我不想和你說那麼多,我就直接告訴你吧,你判斷一下列名是什麼就單元格格式化就行了,明白嗎?不要說那麼多,測試OK的
qq_37753824 2019-09-06
  • 打赏
  • 举报
回复
引用 10 楼 ManBOyyy 的回复:
一看你dataGridView1_CellFormatting這個方法都不會判斷
不就是穿了个马甲而已么 代码放方法里。你可以把 他的代码拿过去自己测试一下就是了。他的也是一直在走格式化的代码。
ManBOyyy 2019-09-05
  • 打赏
  • 举报
回复
一看你dataGridView1_CellFormatting這個方法都不會判斷
ManBOyyy 2019-09-05
  • 打赏
  • 举报
回复
https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.datagridviewcellformattingeventargs.formattingapplied?redirectedfrom=MSDN&view=netframework-4.8#System_Windows_Forms_DataGridViewCellFormattingEventArgs_FormattingApplied
看看官網
qq_37753824 2019-09-05
  • 打赏
  • 举报
回复
引用 7 楼 ManBOyyy 的回复:
引用 6 楼 qq_37753824 的回复:
[quote=引用 4 楼 ManBOyyy 的回复:] [quote=引用 2 楼 qq_37753824 的回复:] [quote=引用 1 楼 ManBOyyy 的回复:] 那你不調試一下在哪裡改變了e.FormattingApplied=false;
跟踪了,还特地建了一个空窗体.就只有这一个事件,还是会不停的执行这个事件.
CellFormatting應該是這個事件導致?[/quote]不知道啊,这才头疼,哎。[/quote] 那你不會調試,還不會截圖???截圖全部代碼,,不要截圖那個方法[/quote]调试了啊 弄了个空窗体 逐句调半天。一直在格式化 private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.FormattingApplied) { return; } if (e.Value == null) { e.Value = ""; e.FormattingApplied = true; return; } e.Value = DateTime.Parse(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()).ToString("yyyy-MM-dd HH:mm"); e.FormattingApplied = true; } private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < 3; i++) { dataGridView1.Rows.Add(); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = DateTime.Now; } } 代码就这些
ManBOyyy 2019-09-05
  • 打赏
  • 举报
回复
引用 6 楼 qq_37753824 的回复:
引用 4 楼 ManBOyyy 的回复:
[quote=引用 2 楼 qq_37753824 的回复:]
[quote=引用 1 楼 ManBOyyy 的回复:]
那你不調試一下在哪裡改變了e.FormattingApplied=false;
跟踪了,还特地建了一个空窗体.就只有这一个事件,还是会不停的执行这个事件.

CellFormatting應該是這個事件導致?[/quote]不知道啊,这才头疼,哎。[/quote]
那你不會調試,還不會截圖???截圖全部代碼,,不要截圖那個方法
qq_37753824 2019-09-05
  • 打赏
  • 举报
回复
引用 4 楼 ManBOyyy 的回复:
引用 2 楼 qq_37753824 的回复:
[quote=引用 1 楼 ManBOyyy 的回复:] 那你不調試一下在哪裡改變了e.FormattingApplied=false;
跟踪了,还特地建了一个空窗体.就只有这一个事件,还是会不停的执行这个事件.
CellFormatting應該是這個事件導致?[/quote]不知道啊,这才头疼,哎。
qq_37753824 2019-09-05
  • 打赏
  • 举报
回复
引用 3 楼 stherix 的回复:
CellFormatting会对所有Cell执行此操作 你说的控件还是一直在格式化 那是换了另外的Cell了
啥意思啊,不明白啊。我就添加 了一行,其他什么操作都没了 在哪里跟踪啊。
ManBOyyy 2019-09-04
  • 打赏
  • 举报
回复
引用 2 楼 qq_37753824 的回复:
引用 1 楼 ManBOyyy 的回复:
那你不調試一下在哪裡改變了e.FormattingApplied=false;
跟踪了,还特地建了一个空窗体.就只有这一个事件,还是会不停的执行这个事件.

CellFormatting應該是這個事件導致?
stherix 2019-09-03
  • 打赏
  • 举报
回复
CellFormatting会对所有Cell执行此操作 你说的控件还是一直在格式化 那是换了另外的Cell了
qq_37753824 2019-09-03
  • 打赏
  • 举报
回复
引用 1 楼 ManBOyyy 的回复:
那你不調試一下在哪裡改變了e.FormattingApplied=false;
跟踪了,还特地建了一个空窗体.就只有这一个事件,还是会不停的执行这个事件.
ManBOyyy 2019-08-28
  • 打赏
  • 举报
回复
那你不調試一下在哪裡改變了e.FormattingApplied=false;

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧