none
關於DataGrid的問題 RRS feed

  • 問題

  • 又是我是利用DataGrid來顯示我搜尋出來的資料

    但只要我按下第二筆要查詢的資料時,第一筆查詢的那一欄就不會消失

    等於說有兩筆重複的Columns

    如圖

    AutoGenerateColumns="False" 這個我已經加了

    還是一樣~

    求各位幫幫忙~感謝!!

    2016年12月21日 上午 06:08

解答

  • 如果第二次查詢不要看到第一次查詢的結果, 可以把之前己加入的欄位和Binding清除
    • 已標示為解答 LilliaHuang 2016年12月22日 上午 05:56
    2016年12月21日 上午 08:25

所有回覆

  • WPF  還是 Web Forms ?

    如果是 WPF, 你的 Data 是怎麼 Binding 的 ?


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


    2016年12月21日 上午 06:33
    版主
  • 查第二筆資料的時候 DataBind 沒重新連繫嗎 
    2016年12月21日 上午 06:49
  • 是WPF

    我的Binding如下

    public void clumB()
            {
                DataGridTextColumn col = new DataGridTextColumn();
                col.Header = "制令單號";
                col.IsReadOnly = true;
                Binding binding = new Binding("SheetNumber");
                col.Binding = binding;
                this.dgInfo.Columns.Add(col);

                DataGridTextColumn col2 = new DataGridTextColumn();
                System.Windows.Data.Binding b1 = new System.Windows.Data.Binding();
                b1.Converter = new InTimeConverter();
                col2.Header = "投入日期";
                col2.IsReadOnly = true;
                col2.Binding = b1;
                this.dgInfo.Columns.Add(col2);

                DataGridTextColumn col3 = new DataGridTextColumn();
                col3.Header = "投入數量";
                col3.IsReadOnly = true;
                Binding binding3 = new Binding("InQty");
                col3.Binding = binding3;
                this.dgInfo.Columns.Add(col3);

                DataGridTextColumn col4 = new DataGridTextColumn();
                System.Windows.Data.Binding b2 = new System.Windows.Data.Binding();
                b2.Converter = new OutTimeConverter();
                col4.Header = "完工日期";
                col4.IsReadOnly = true;
                col4.Binding = b2;
                this.dgInfo.Columns.Add(col4);

                DataGridTextColumn col5 = new DataGridTextColumn();
                col5.Header = "完工數量";
                col5.IsReadOnly = true;
                Binding binding5 = new Binding("OutQyt");
                col5.Binding = binding5;
                this.dgInfo.Columns.Add(col5);

                DataGridTextColumn col6 = new DataGridTextColumn();
                col6.Header = "工單結案天數";
                col6.IsReadOnly = true;
                Binding binding6 = new Binding("ColsedDay");
                col6.Binding = binding6;
                this.dgInfo.Columns.Add(col6);

            }

    2016年12月21日 上午 07:08
  • 如果第二次查詢不要看到第一次查詢的結果, 可以把之前己加入的欄位和Binding清除
    • 已標示為解答 LilliaHuang 2016年12月22日 上午 05:56
    2016年12月21日 上午 08:25
  • 請問有明確方法嗎??

    目前就是卡在這部分~謝謝

    2016年12月21日 上午 08:58
  • 這樣搞有點累, 你怎麼不在 XAML Code 上把 DataGrid 就設計好, 然後把資料 Bind 上來就好了.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2016年12月21日 上午 11:55
    版主
  • XAML Code 我已經增加了這 AutoGenerateColumns="False" CanUserDeleteRows="False" CanUserAddRows="False"

    請問我還有漏掉甚麼嗎?

    2016年12月22日 上午 03:40
  • bill指的是在XAML Code 上把template先設定好,而程式端只需要負責把資料Query出來,然後做資料 Bind 就好

    例如:

    https://dotblogs.com.tw/whd/2016/04/04/215107

    http://www.cnblogs.com/gnielee/archive/2010/04/16/wpf4-datagrid-control-basic.html


    微軟免費線上課程

    HTML5 & JavaScript程式開發實戰(MyBook)

    開發ASP.NET您要瞭解的基楚

    http://www.dotblogs.com.tw/ian (MyBlog)

    2016年12月22日 上午 03:44
  • 我的Template有兩組...

    我目前只是想詢問說 該怎麼不要讓他重覆Column而已.....

    2016年12月22日 上午 03:54
  • 你貼的程式碼都是在程式裡new DataGridTextColumn,哪裡有在 XAML Code 把template給定義好?

    你真的有點進去看我給的連結資料嗎?


    微軟免費線上課程

    HTML5 & JavaScript程式開發實戰(MyBook)

    開發ASP.NET您要瞭解的基楚

    http://www.dotblogs.com.tw/ian (MyBlog)


    • 已編輯 No.18MVP 2016年12月22日 上午 04:23
    2016年12月22日 上午 04:22
  • 我並沒有說我要在 XAML Code 裡面把template給定義好吧?

    我裡面程式就寫那樣了,為甚麼一定要去動XAML裡的?

    我就是因為想要解決內部程式問題才來這裡發問,一直叫我去動XAML,

    而且我貼的程式碼是最一開始詢問的,當然不會有XAML Code阿!

    像上述回答的Alan跟Tihs就有回答到我的重點

    只是需要兩位更精確的方向,非常感謝這兩位。


    2016年12月22日 上午 04:54
  • 我是在解釋Bill回答你的 , 你不是問bill說有哪裡沒設到的嗎?

    你知道在XAML裡定好template跟在程式碼裡寫code,它的元件機制運作是不同的嗎?

    不是我們一直叫你去改,而是這樣的做法可以解決你的問題


    微軟免費線上課程

    HTML5 & JavaScript程式開發實戰(MyBook)

    開發ASP.NET您要瞭解的基楚

    http://www.dotblogs.com.tw/ian (MyBlog)

    2016年12月22日 上午 05:06
  • 感謝Tihs的指引,

    我加入了清除後在執行就可以了~非常感謝!!!

    2016年12月22日 上午 05:57
  • 我的Template有兩組...

    我目前只是想詢問說 該怎麼不要讓他重覆Column而已.....


    Template 有兩組可以用 TemplateSelector 啊.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2016年12月22日 上午 08:45
    版主