locked
DataGrid資料繫結的處理 RRS feed

  • 問題

  • 各位前輩好 :


         在使用 Silverlight 的 DataGrid , 做資料繫結的同時 , 可以撰寫某欄位繫結資料時 , 做額外的處理嗎?

         類似 <Label runat=Server ID="lblTime" Text=<%#TranslateString ( Eval("Catalog_Time")) %> />

         這樣的寫法

         請各位前輩指點
    小小的、菜菜的菜鳥程式人員
    2010年3月12日 上午 06:18

解答

  • Hi,


    可以做到類似的,請參考MSDN內的範例, ex:

    // Custom class implements the IValueConverter interface.
    public class DateToStringConverter : IValueConverter
    {
    
        #region IValueConverter Members
    
        // Define the Convert method to change a DateTime object to 
        // a month string.
        public object Convert(object value, Type targetType, 
            object parameter, 
    System.Globalization.CultureInfo culture)
        {
            // value is the data from the source object.
            DateTime thisdate = (DateTime)value;
            int monthnum = thisdate.Month;
            string month;
            switch (monthnum)
            {
                case 1:
                    month = "January";
                    break;
                case 2:
                    month = "February";
                    break;
                default:
                    month = "Month not found";
                    break;
            }
            // Return the value to pass to the target.
            return month;
    
        }
    
        // ConvertBack is not implemented for a OneWay binding.
        public object ConvertBack(object value, Type targetType, 
            object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    
        #endregion
    }
    





    .xaml
    <UserControl.Resources>
      <local:DateToStringConverter x:Key="Converter1"/>
    </UserControl.Resources>
    
    
    ...
    
    
    <TextBlock Grid.Column="0" 
     
      Text="{Binding Month, Converter={StaticResource Converter1}}"/>
    
    







    ref:
    http://msdn.microsoft.com/en-us/library/cc278072%28VS.95%29.aspx




    Regards,
    Lolota
    微軟技術支援中心 CSS - http://www.dotblogs.com.tw/lolota
    • 已標示為解答 芋宅 2010年3月16日 上午 03:01
    2010年3月12日 上午 06:42
  • 看看是不是您要的?
    使用 IMultiValueConverter 介面,實作出 MultiBinding for Silverlight 3

    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    在本討論區使用正體中文(即繁體中文),是對參與的朋友的一種尊重,因此請用本討論區的語言:正體中文。
    • 已標示為解答 芋宅 2010年3月16日 上午 03:01
    2010年3月12日 上午 10:39

所有回覆

  • Hi,


    可以做到類似的,請參考MSDN內的範例, ex:

    // Custom class implements the IValueConverter interface.
    public class DateToStringConverter : IValueConverter
    {
    
        #region IValueConverter Members
    
        // Define the Convert method to change a DateTime object to 
        // a month string.
        public object Convert(object value, Type targetType, 
            object parameter, 
    System.Globalization.CultureInfo culture)
        {
            // value is the data from the source object.
            DateTime thisdate = (DateTime)value;
            int monthnum = thisdate.Month;
            string month;
            switch (monthnum)
            {
                case 1:
                    month = "January";
                    break;
                case 2:
                    month = "February";
                    break;
                default:
                    month = "Month not found";
                    break;
            }
            // Return the value to pass to the target.
            return month;
    
        }
    
        // ConvertBack is not implemented for a OneWay binding.
        public object ConvertBack(object value, Type targetType, 
            object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    
        #endregion
    }
    





    .xaml
    <UserControl.Resources>
      <local:DateToStringConverter x:Key="Converter1"/>
    </UserControl.Resources>
    
    
    ...
    
    
    <TextBlock Grid.Column="0" 
     
      Text="{Binding Month, Converter={StaticResource Converter1}}"/>
    
    







    ref:
    http://msdn.microsoft.com/en-us/library/cc278072%28VS.95%29.aspx




    Regards,
    Lolota
    微軟技術支援中心 CSS - http://www.dotblogs.com.tw/lolota
    • 已標示為解答 芋宅 2010年3月16日 上午 03:01
    2010年3月12日 上午 06:42
  • 感謝前輩指點 , 有照著下去撰寫

    不過 , 有辦法綁兩個資料以上嗎 ?

    還是可以直接繫結entity ??
    小小的、菜菜的菜鳥程式人員
    2010年3月12日 上午 09:53
  • 看看是不是您要的?
    使用 IMultiValueConverter 介面,實作出 MultiBinding for Silverlight 3

    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    在本討論區使用正體中文(即繁體中文),是對參與的朋友的一種尊重,因此請用本討論區的語言:正體中文。
    • 已標示為解答 芋宅 2010年3月16日 上午 03:01
    2010年3月12日 上午 10:39
  • 先謝謝 Alex Chuo 前輩的指點 , 不好意思那麼晚才回覆
    小小的、菜菜的菜鳥程式人員
    2010年3月16日 上午 03:01