GridView的第一列是ButtonField,字段名是"删除",想一点之后弹出确认框,否则返回.应该如何写?

问题:
GridView的第一列是ButtonField,字段名是"删除",想一点之后弹出确认框,否则返回.应该如何写?
解决方法:
 1、点击GridView的快捷箭头,选‘编辑列’。  
  2、加入一个ButtonFiled,在右边的属性框里设置HeadText(用以显示),定义一个CommandName(用以你点击以后触发的动作)  
  3、点右下角的‘转化为模版列’,ok。  
  4、右击GridView,‘编辑模版’--‘Column[..]--你之前定义的HeadText’,ItemTemplate里看见你的按钮了吗?点中,属性里有一项‘OnClientClick’,把“javascript:return   confirm('真的要删除吗?');”粘贴进去。  
  5、搞定你需要的功能了。  
  6、如果你想点击按钮触发其他事件,可以在RowCommand事件里详细写。。。  
  protected   void   GridView1_RowCommand(object   sender,   GridViewCommandEventArgs   e)  
  {  
          if   (e.CommandName   ==   "MyBtnClicked")//前面你定义的CommandName  
          {  
                  Response.Write("kkk   clicked");  
          }  
  }  



1、在前面的步骤4中,你在itemTemplate里看见你的按钮右上角的小箭头了吧,verygood,点击‘编辑DataBings’。。。   
2、看见这一级别的绑定了吗?把   CommandArgument和你想操作的字段绑定吧。。。(右边下拉列表选择)   
3、ok,现在你可以类似下面方法调用  
  ------------------  
  protected   void   GridView1_RowCommand(object   sender,   GridViewCommandEventArgs   e)  
  {  
          if   (e.CommandName   ==   "MyBtnClicked")  
          {  
                  Response.Write("you   wanted   "   +   e.CommandArgument.ToString());  
          }  
  }  
  ------------------  
  你无非就是想取到结果集中的cell里的内容,现在你想得到的内容绑定在CommandArgument里了,你就不用再什么index什么cell[].text了(复杂的cell你还要findcontrol,呵呵)
您可以使用WPF MVVM中的Binding和Converter来实现这个功能。以下是一个简单的示例: 1.在你的GridView中,设置两个列,第一个列绑定到你的数据源的第一列,第二个列绑定到你的数据源的第二列。 2.为第二个列设置一个Converter,该Converter将第二个列的第一个数据设置为第一列的上一个数据。 下面是一些示例代码: 在GridView中设置两个列: ``` <ListView ItemsSource="{Binding MyData}"> <ListView.View> <GridView> <GridViewColumn Header="Column 1" DisplayMemberBinding="{Binding Column1}" /> <GridViewColumn Header="Column 2" DisplayMemberBinding="{Binding Column2, Converter={StaticResource MyConverter}}" /> </GridView> </ListView.View> </ListView> ``` 设置Converter: ``` public class MyConverter : IValueConverter { private object _lastValue; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { _lastValue = null; return null; } if (_lastValue == null) { // If this is the first value, return null. _lastValue = value; return null; } // Set the first value of the second column to be the last value of the first column. var result = _lastValue; _lastValue = value; return result; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } ``` 在这个Converter中,我们使用了一个私有变量 _lastValue 来存储上一个值。在 Convert 方法中,我们首先检查当前值是否为 null,如果是,则将 _lastValue 设置为 null 并返回 null。如果当前值不是 null,我们再检查 _lastValue 是否为 null,如果是,则将 _lastValue 设置为当前值并返回 null。如果 _lastValue 不是 null,我们将第二列的第一个值设置为 _lastValue,并将 _lastValue 设置为当前值。最后,返回 _lastValue 作为第二列的第一个值。 在这个示例中,我们使用了一个ListView和一个GridView来显示数据,但您也可以使用其他控件来实现相同的效果。此外,请注意,Converter中的代码非常简单,您可以根据您的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值