1、Silverlight DataGrid使用之一 显示篇一、用过的Gridview 应该熟悉datagrid控件Silverlight DataGrid常用事件:BeginningEdit:发生于一个单元格或行进入编辑模式之前。CellEditEnded:发生于一个单元格编辑已被确认或取消。CellEditEnding:发生于一个单元格正在结束编辑时。CurrentCellChanged:发生于一个单元格成为当前单元格时。PreparingCellForEdit:发生于在DataGridTemplateColumn下的单元格进入编辑模式时。SelectionChanged:发生于当Select
2、edItem或SelectedItems属性值改变时。Silverlight DataGrid常用方法:BeginEdit:使DataGrid进入编辑状态。CancelEdit:取消DataGrid的编辑状态。CollapseRowGroup:闭合DataGrid的行分组。CommitEdit:确认DataGrid的编辑完成。ExpandRowGroup:展开DataGrid的行分组。GetGroupFromItem:从具体Item中得到分组。ScrollIntoView:滚动DataGrid视图。Silverlight DataGrid常用属性:AlternatingRowBackgroun
3、d:获取或设置一个笔刷用来描绘DataGrid奇数行的背景。AreRowDetailsFrozen:获取或设置一个值用来判断是否冻结每行内容的详细信息。AreRowGroupHeadersFrozen:获取或设置一个值用来判断是否冻结分组行的头部。AutoGenerateColumns:获取或设置一个值用来判断是否允许自动生成表列。CanUserReorderColumns:获取或设置一个值用来判断是否允许用户重新排列表列的位置。CanUserSortColumns:获取或设置一个值用来判断是否允许用户按列对表中内容进行排序。CellStyle:获取或设置单元格的样式。ColumnHeader
4、Height:获取或设置列头的高度。ColumnHeaderStyle:获取或设置列头的样式。Columns:获取组件中包含所有列的集合。ColumnWidth:获取或设置列宽。CurrentColumn:获取或设置包含当前单元格的列。CurrentItem:获取包含当前单元格且与行绑定的数据项。DragIndicatorStyle:获取或设置当拖曳列头时的样式。DropLocationIndicatorStyle:获取或设置呈现列头时的样式。FrozenColumnCount:获取或设置冻结列的个数。GridLinesVisibility:获取或设置网格线的显示形式。HeadersVisib
5、ility:获取或设置行头及列头的显示形式。HorizontalGridLinesBrush:获取或设置水平网格线的笔刷。HorizontalScrollBarVisibility:获取或设置水平滚动条的显示样式。IsReadOnly:获取或设置DataGrid是否为只读。MaxColumnWidth:获取或设置DataGrid的最大列宽。MinColumnWidth:获取或设置DataGrid的最小列宽。RowBackground:获取或设置用于填充行背景的笔刷。RowDetailsTemplate:获取或设置被用于显示行详细部分的内容的模板。RowDetailsVisibilityMode
6、:获取或设置一个值用以判定行详细部分是否显示。RowGroupHeaderStyles:获取呈现行分组头部的样式。RowHeaderStyle:获取或设置呈现行头的样式。RowHeaderWidth:获取或设置行头的宽度。RowHeight:获取或设置每行的高度。RowStyle:获取或设置呈现行时的样式。SelectedIndex:获取或设置当前选中部分的索引值。SelectedItem:获取或设置与当前被选中行绑定的数据项。SelectedItems:获取与当前被选中的各行绑定的数据项们的列表(List)。SelectionMode:获取或设置DataGrid的选取模式。VerticalG
7、ridLinesBrush:获取或设置垂直网格线的笔刷。VerticalScrollBarVisibility:获取或设置垂直滚动条的显示样式。1指定Column列表 还有个DataGridCheckBoxColumn 它主要是Checkbox选项 boolean类型 另外DataGridTemplateColumn是自定义布局数据模板2 加载时候显示填色SolidColorBrushr=newSolidColorBrush(Colors.Red);privatevoiddataGrid1_LoadingRow(objectsender,DataGridRowEventArgse)CDatac
8、=e.Row.DataContextasCData;if(c.id%5=0)e.Row.Background=r;elsee.Row.Background=newSolidColorBrush(Colors.White); 3 Row详细显示模板 Silverlight DataGrid使用之二 更新行篇2011-06-05 16:08首先在wcf加上一个编辑方法 ServiceContract public interface IService1 OperationContract List GetCDatas(); OperationContract bool EditCData(CDat
9、a c); / TODO: 在此添加您的服务操作 / 使用下面示例中说明的数据协定将复合类型添加到服务操作 DataContract public class CData DataMember public int id; DataMember public string text; System.ServiceModel.Activation.AspNetCompatibilityRequirements(RequirementsMode = System.ServiceModel.Activation.AspNetCompatibilityRequirementsMode.Required
10、) public class Service1 : IService1 public List GetCDatas() SqlConnection cn = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStringssldatabaseConnectionString.ConnectionString); SqlCommand cmd=new SqlCommand (select id,text from t1,cn); cn.Open(); SqlDataReader dr=cmd.
11、ExecuteReader( ); List CList=new List (); while (dr.Read() CData c = new CData id = int.Parse(drid.ToString(), text = drtext.ToString() ; CList.Add(c); cn.Close(); return CList; public bool EditCData(CData c) SqlConnection cn = new SqlConnection(System.Web.Configuration.WebConfigurationManager.Conne
12、ctionStringssldatabaseConnectionString.ConnectionString); SqlCommand cmd = new SqlCommand(update t1 set text=text where id=id,cn); cmd.Parameters.Add(text, System.Data.SqlDbType.NVarChar).Value = c.text; cmd.Parameters.Add(id, System.Data.SqlDbType.Int).Value=c.id; cn.Open(); int r = cmd.ExecuteNonQ
13、uery(); cn.Close(); if (r 0) return true; else return false; 在数据库 创建一个表 随便取名xaml代码 cs代码 private void dataGrid1_RowEditEnded(object sender, DataGridRowEditEndedEventArgs e) CData c = e.Row.DataContext as CData; Service1Client s = new Service1Client(); s.EditCDataCompleted += new EventHandler(s_EditCD
14、ataCompleted); s.EditCDataAsync(c); void s_EditCDataCompleted(object sender, EditCDataCompletedEventArgs e) if (e.Result) System.Windows.Browser.HtmlPage.Window.Alert(成功); else System.Windows.Browser.HtmlPage.Window.Alert(失败); 然后测试 显示列表后 双击一个行然后点击DataGrid边框 结束编辑状态 Silverlight DataGrid使用之三 排序篇2011-06
15、-06 23:18首先DataGrid 自带的排序特性 另一个方法是使用 System.Windows.Data.PagedCollectionView在后台代码public partial class DataGridControl : UserControlpublic DataGridControl()InitializeComponent();SilverlightApplication1.ServiceReference1.Service1Client c = new ServiceReference1.Service1Client();c.GetCDatasCompleted +=
16、 new EventHandler(c_GetCDatasCompleted);c.GetCDatasAsync();void c_GetCDatasCompleted(object sender, ServiceReference1.GetCDatasCompletedEventArgs e)if (e.Error = null)System.Windows.Data.PagedCollectionView view = new System.Windows.Data.PagedCollectionView(e.Result);view.SortDescriptions.Add(new Sy
17、stem.ComponentModel.SortDescription(id, System.ComponentModel.ListSortDirection.Descending) );/指定属性名称作排序dataGrid1.ItemsSource = view;Silverlight DataGrid使用之四 过滤篇2011-06-06 23:36创建wcf和xml页面 参考然后在后台代码 修改一下namespace SilverlightApplication1 public partial class DataGridControl : UserControl public DataGridControl() InitializeComponent(); SilverlightApplication1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1