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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Telerik RadGridView动态增删行及行列操作

發布時間:2025/3/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Telerik RadGridView动态增删行及行列操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

  最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用顯示控件RadGridView,使用起來比DataGird好使,

  也發現有控件問題。

  1.增行

  RadGridView中使用BeginInsert(),動態增加默認行方法,避免與 ShowInsertRow一起使用

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

  或使用ShowInsertRow=true;

  1 radgridview.ShowInsertRow=true;

  2.刪行

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

  同時設置CommandParameter對行綁定

1 <telerik:GridViewColumn Header="Delete" >
2 <telerik:GridViewColumn.CellTemplate>
3 <DataTemplate>
4 <telerik:RadButton Content="Delete"
5 Command="telerik:RadGridViewCommands.Delete"
6 CommandParameter="{Binding}" />
7 </DataTemplate>
8 </telerik:GridViewColumn.CellTemplate>
9 </telerik:GridViewColumn>

?

  如圖:

  

?

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

1 <telerik:GridViewColumn Header="Delete" >
2 <telerik:GridViewColumn.CellTemplate>
3 <DataTemplate>
4 <telerik:RadButton Content="Delete"
5 ///調用方法
6 Click="DelRow_Click" />
7 </DataTemplate>
8 </telerik:GridViewColumn.CellTemplate>
9 </telerik:GridViewColumn> 1 private void 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()方法

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

?

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

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

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

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

  本文來自菊花香的博客,原文地址:http://www.cnblogs.com/MR520/archive/2011/08/08/2130731.html

轉載于:https://www.cnblogs.com/qq247039968/p/4062008.html

總結

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

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