日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Silverlight Telerik RadGridView动态增删行及行列操作(转载)

發布時間:2025/4/5 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Silverlight Telerik RadGridView动态增删行及行列操作(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用顯示控件RadGridView,使用起來比DataGird好使,

???? 也發現有控件問題。

1 ///增加行
2 radgridview.BeginInsert();

  ? 或

    使用ShowInsertRow=true;

1 radgridview.ShowInsertRow=true;

???????2.刪行

????????? RadGridView中也提供刪除行方法,這個需要使用Teleri中的命令telerik:RadGridViewCommands.Delete

    同時設置CommandParameter對行綁定

<telerik:GridViewColumn Header="Delete" >
??????? <telerik:GridViewColumn.CellTemplate>
??????????? <DataTemplate>
??????????????? <telerik:RadButton Content="Delete"
???????????????????? Command="telerik:RadGridViewCommands.Delete"
??????????????????????????????????? CommandParameter="{Binding}" />
??????????? </DataTemplate>
??????? </telerik:GridViewColumn.CellTemplate>
??? </telerik:GridViewColumn>


如圖:

????????? 寫成如下方式也與上面效果一樣:

<telerik:GridViewColumn Header="Delete" >
??????? <telerik:GridViewColumn.CellTemplate>
??????????? <DataTemplate>
??????????????? <telerik:RadButton Content="Delete"
???????????????????????????????????????? ///調用方法
???????????????????????????????????????? Click="DelRow_Click" />
??????????? </DataTemplate>
??????? </telerik:GridViewColumn.CellTemplate>
??? </telerik:GridViewColumn>

1 privatevoid DelRow_Click(object sender, RoutedEventArgs e)
2 {
3 var deletecommand = RadGridViewCommands.Delete as RoutedUICommand;
4 deletecommand.Execute(radgridview.CurrentItem, radgridview);
5 }
RadGridViewCommands命令還有很多,有時間可以看下

    3.行數據獲取

???????????? 使用這控件中,發現取數據不像Datagrid那樣獲取,開始也無法理解,仔細看下文檔,獲取方式還真不同。

?????????????將RadGridView.Items中每項Item轉換為GridRowView的,在獲取GridRowView中的每列

??????????? 使用RadGridView.ItemContainerGenerator.ContainerFromItem()方法

foreach (var item in radgridview.Items)
?{
????? GridViewRow row = radgridview.ItemContainerGenerator.ContainerFromItem(item) as GridViewRow;
????? int level=Convert.ToInt32((row.Cells[0].Content as TextBox).Text);
????? double min=Convert.ToDouble((row.Cells[1].Content as TextBox).Text);
????? double max=Convert.ToDouble((row.Cells[2].Content as TextBox).Text);
????? Color c=(row.Cells[3].Content as RadColorPicker).SelectedColor;
????????????????? ......
?}

4.設置新行的默認初始值

?????????? 通過 BeginInsert()方法增加新行,需要設置每行每列的初始值,需要在RowLoaded方法中寫方法

    RadGrid_RowLoaded(object sender, Telerik.Windows.Controls.GridView.RowLoadedEventArgs e)

private void radgridview_RowLoaded(object sender, Telerik.Windows.Controls.GridView.RowLoadedEventArgs e)
?{
??????????????? ///是標題欄返回
???????????? if (e.Row is GridViewHeaderRow)
???????????????? return;
?
???????????? int rownumber=(sender as RadGridView).Items.Count;
?
???????????? ///設置每列初始值
???????????? (e.Row.Cells[0].Content as TextBox).Text = rownumber.ToString();
???????????? ///顏色隨機
???????????? Random rand = new Random();
???????????? byte r = Convert.ToByte(rand.Next(255));
???????????? byte g= Convert.ToByte(rand.Next(255));
???????????? byte b= Convert.ToByte(rand.Next(255));
???????????? (e.Row.Cells[3].Content as RadColorPicker).SelectedColor = Color.FromArgb(180,r,g,b);
?}

總結

以上是生活随笔為你收集整理的Silverlight Telerik RadGridView动态增删行及行列操作(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。