利用datagrid编辑

本文展示了如何使用ASP.NET中的DataGrid控件实现数据的展示、编辑、更新和删除功能。通过具体的C#代码示例,介绍了如何配置DataGrid并处理各种事件。

if exists (select * from dbo.sysobjects where
id = object_id(N''[dbo].[People]'') and OBJECTPROPERTY(id, N''IsUserTable'') = 1)
drop table [dbo].[People]
GO


CREATE TABLE [dbo].[People] (
[pkID] [int] IDENTITY (1, 1) NOT NULL ,
[FirstName] [char] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[LastName] [char] (100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO


EditDataGridCS.ASPx


<%@ Page Language="C#" debug="true"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient" %>


<script runat="server">


//make first sql
String sql = "";
String strCnn = "Data Source=.;Initial Catalog=aa;User Id=sa;Password=;";
//create a datasource function
public ICollection CreateDataSource () {
SqlConnection conn = new SqlConnection(strCnn);


SqlDataAdapter db_sqladaptor = new SqlDataAdapter(sql,conn);


DataSet ds = new DataSet();
db_sqladaptor.Fill(ds,"MyDataResult");


DataView myView = ds.Tables["MyDataResult"].DefaultView;
return myView;
}

 

//do page load


public void Page_Load(Object sender, EventArgs e) {
strCnn = "Data Source=.;Initial Catalog=aa;User Id=sa;Password=;";


if (!IsPostBack)
{
sql = "Select * FROM People";
People.DataSource = CreateDataSource();
People.DataBind();
}


}


public void Page_Grid(Object sender, DataGridPageChangedEventArgs e)
{
sql = "Select * FROM People";
// Set CurrentPageIndex to the page the user clicked.
People.CurrentPageIndex = e.NewPageIndex;


// Rebind the data.
People.DataSource = CreateDataSource();
People.DataBind();


}


public void People_Edit(Object sender, DataGridCommandEventArgs e)
{
sql = "Select * FROM People";


People.EditItemIndex = e.Item.ItemIndex;
People.DataSource = CreateDataSource();
People.DataBind();


}


public void People_Cancel(Object sender, DataGridCommandEventArgs e)
{
sql = "Select * FROM People";
People.EditItemIndex = -1;
People.DataSource = CreateDataSource();
People.DataBind();


}


public void People_Update(Object sender, DataGridCommandEventArgs e)
{
string FirstName = ((TextBox)e.Item.Cells[1].Controls[1]).Text;
string LastName = ((TextBox)e.Item.Cells[2].Controls[1]).Text;


SqlConnection connUpdate = new SqlConnection(strCnn);
connUpdate.Open();
String sql_edit = "UPDATE People " +
"SET FirstName = ''" + FirstName.Replace("''","''''")+ "''," +
"LastName = ''" + LastName.Replace("''","''''")+ "''" +
" WHERE pkID = " + e.Item.Cells[0].Text;


SqlCommand sqlCommandUpdate = new SqlCommand(sql_edit,connUpdate);
sqlCommandUpdate.ExecuteNonQuery();
connUpdate.Close();


sql = "Select * FROM People";
People.EditItemIndex = -1;
People.DataSource = CreateDataSource();
People.DataBind();


}


public void People_Delete(Object sender, DataGridCommandEventArgs e) {


SqlConnection connDel = new SqlConnection(strCnn);
connDel.Open();
String sql_Del = "DELETE FROM People " +
" WHERE pkID = " + e.Item.Cells[0].Text;


SqlCommand sqlCommandDel = new SqlCommand(sql_Del,connDel);
sqlCommandDel.ExecuteNonQuery();
connDel.Close();


sql = "Select * FROM People";
People.EditItemIndex = -1;
People.DataSource = CreateDataSource();
People.DataBind();


}


</script>


<font face="arial" size="3">
<b>Edit People</b>
</font>
<br>


上一篇: 利用WebClient和WebRequest类获得网页源代码
下一篇: 如何在域控制器上安装asp.net?
<form runat="server">


<ASP:DataGrid id="People" runat="server"
BorderColor="green"
Width="640"
PageSize="5"
AllowPaging="true"
OnPageIndExchanged="Page_Grid"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
ShowHeader="true"
Visible="true"


OnEditCommand="People_Edit"
OnCancelCommand="People_Cancel"
OnUpdateCommand="People_Update"
OnDeleteCommand="People_Delete">


<HeaderStyle BorderColor="White" BackColor="black"
ForeColor="White"
Font-Bold="True"
Font-Name="Arial"
Font-Size="9" HorizontalAlign="Center"/>


<ItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="8"
Font-Bold="False" HorizontalAlign="Center"/>


<EditItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="7"
Font-Bold="False" HorizontalAlign="Center"/>


<PagerStyle Mode="NumericPages" Font-Size="8"/>


<Columns>


<asp:BoundColumn HeaderText="ID" ReadOnly="true" DataField="pkID"/>


<asp:TemplateColumn>


<HeaderTemplate>
<b> First Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Text=''<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>

 

<EditItemTemplate>
<asp:TextBox id="FirstName" Text=''
<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:TemplateColumn>


<HeaderTemplate>
<b> Last Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Width="200"
Text=''<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>


<EditItemTemplate>
<asp:TextBox id="LastName" Text=''<br>
<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:EditCommandColumn
ButtonType="LinkButton"
CancelText="Cancel"
EditText="Edit"
UpdateText="Update" />


<asp:ButtonColumn Text= "Delete" CommandName="Delete"></asp:ButtonColumn>


</Columns>


</asp:DataGrid>


</form>

 


上一篇: 捕捉DataGrid的双击事件(C#版本)
下一篇: asp.net中显示DataGrid控件列序号的几种方法

<form runat="server">


<ASP:DataGrid id="People" runat="server"
BorderColor="green"
Width="640"
PageSize="5"
AllowPaging="true"
OnPageIndExchanged="Page_Grid"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
ShowHeader="true"
Visible="true"


OnEditCommand="People_Edit"
OnCancelCommand="People_Cancel"
OnUpdateCommand="People_Update"
OnDeleteCommand="People_Delete">


<HeaderStyle BorderColor="White" BackColor="black"
ForeColor="White"
Font-Bold="True"
Font-Name="Arial"
Font-Size="9" HorizontalAlign="Center"/>


<ItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="8"
Font-Bold="False" HorizontalAlign="Center"/>


<EditItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="7"
Font-Bold="False" HorizontalAlign="Center"/>


<PagerStyle Mode="NumericPages" Font-Size="8"/>


<Columns>


<asp:BoundColumn HeaderText="ID" ReadOnly="true" DataField="pkID"/>


<asp:TemplateColumn>


<HeaderTemplate>
<b> First Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Text=''<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>

 

<EditItemTemplate>
<asp:TextBox id="FirstName" Text=''
<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:TemplateColumn>


<HeaderTemplate>
<b> Last Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Width="200"
Text=''<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>


<EditItemTemplate>
<asp:TextBox id="LastName" Text=''<br>
<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:EditCommandColumn
ButtonType="LinkButton"
CancelText="Cancel"
EditText="Edit"
UpdateText="Update" />


<asp:ButtonColumn Text= "Delete" CommandName="Delete"></asp:ButtonColumn>


</Columns>


</asp:DataGrid>


</form>

 


上一篇: 捕捉DataGrid的双击事件(C#版本)
下一篇: asp.net中显示DataGrid控件列序号的几种方法

<form runat="server">


<ASP:DataGrid id="People" runat="server"
BorderColor="green"
Width="640"
PageSize="5"
AllowPaging="true"
OnPageIndExchanged="Page_Grid"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
ShowHeader="true"
Visible="true"


OnEditCommand="People_Edit"
OnCancelCommand="People_Cancel"
OnUpdateCommand="People_Update"
OnDeleteCommand="People_Delete">


<HeaderStyle BorderColor="White" BackColor="black"
ForeColor="White"
Font-Bold="True"
Font-Name="Arial"
Font-Size="9" HorizontalAlign="Center"/>


<ItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="8"
Font-Bold="False" HorizontalAlign="Center"/>


<EditItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="7"
Font-Bold="False" HorizontalAlign="Center"/>


<PagerStyle Mode="NumericPages" Font-Size="8"/>


<Columns>


<asp:BoundColumn HeaderText="ID" ReadOnly="true" DataField="pkID"/>


<asp:TemplateColumn>


<HeaderTemplate>
<b> First Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Text=''<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>

 

<EditItemTemplate>
<asp:TextBox id="FirstName" Text=''
<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:TemplateColumn>


<HeaderTemplate>
<b> Last Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Width="200"
Text=''<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>


<EditItemTemplate>
<asp:TextBox id="LastName" Text=''<br>
<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:EditCommandColumn
ButtonType="LinkButton"
CancelText="Cancel"
EditText="Edit"
UpdateText="Update" />


<asp:ButtonColumn Text= "Delete" CommandName="Delete"></asp:ButtonColumn>


</Columns>


</asp:DataGrid>


</form>

 


上一篇: 捕捉DataGrid的双击事件(C#版本)
下一篇: asp.net中显示DataGrid控件列序号的几种方法

<form runat="server">


<ASP:DataGrid id="People" runat="server"
BorderColor="green"
Width="640"
PageSize="5"
AllowPaging="true"
OnPageIndExchanged="Page_Grid"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
ShowHeader="true"
Visible="true"


OnEditCommand="People_Edit"
OnCancelCommand="People_Cancel"
OnUpdateCommand="People_Update"
OnDeleteCommand="People_Delete">


<HeaderStyle BorderColor="White" BackColor="black"
ForeColor="White"
Font-Bold="True"
Font-Name="Arial"
Font-Size="9" HorizontalAlign="Center"/>


<ItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="8"
Font-Bold="False" HorizontalAlign="Center"/>


<EditItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="7"
Font-Bold="False" HorizontalAlign="Center"/>


<PagerStyle Mode="NumericPages" Font-Size="8"/>


<Columns>


<asp:BoundColumn HeaderText="ID" ReadOnly="true" DataField="pkID"/>


<asp:TemplateColumn>


<HeaderTemplate>
<b> First Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Text=''<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>

 

<EditItemTemplate>
<asp:TextBox id="FirstName" Text=''
<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:TemplateColumn>


<HeaderTemplate>
<b> Last Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Width="200"
Text=''<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>


<EditItemTemplate>
<asp:TextBox id="LastName" Text=''<br>
<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:EditCommandColumn
ButtonType="LinkButton"
CancelText="Cancel"
EditText="Edit"
UpdateText="Update" />


<asp:ButtonColumn Text= "Delete" CommandName="Delete"></asp:ButtonColumn>


</Columns>


</asp:DataGrid>


</form>

 


上一篇: 捕捉DataGrid的双击事件(C#版本)
下一篇: asp.net中显示DataGrid控件列序号的几种方法

<form runat="server">


<ASP:DataGrid id="People" runat="server"
BorderColor="green"
Width="640"
PageSize="5"
AllowPaging="true"
OnPageIndExchanged="Page_Grid"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
ShowHeader="true"
Visible="true"


OnEditCommand="People_Edit"
OnCancelCommand="People_Cancel"
OnUpdateCommand="People_Update"
OnDeleteCommand="People_Delete">


<HeaderStyle BorderColor="White" BackColor="black"
ForeColor="White"
Font-Bold="True"
Font-Name="Arial"
Font-Size="9" HorizontalAlign="Center"/>


<ItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="8"
Font-Bold="False" HorizontalAlign="Center"/>


<EditItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="7"
Font-Bold="False" HorizontalAlign="Center"/>


<PagerStyle Mode="NumericPages" Font-Size="8"/>


<Columns>


<asp:BoundColumn HeaderText="ID" ReadOnly="true" DataField="pkID"/>


<asp:TemplateColumn>


<HeaderTemplate>
<b> First Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Text=''<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>

 

<EditItemTemplate>
<asp:TextBox id="FirstName" Text=''
<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:TemplateColumn>


<HeaderTemplate>
<b> Last Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Width="200"
Text=''<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>


<EditItemTemplate>
<asp:TextBox id="LastName" Text=''<br>
<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:EditCommandColumn
ButtonType="LinkButton"
CancelText="Cancel"
EditText="Edit"
UpdateText="Update" />


<asp:ButtonColumn Text= "Delete" CommandName="Delete"></asp:ButtonColumn>


</Columns>


</asp:DataGrid>


</form>

 


上一篇: 捕捉DataGrid的双击事件(C#版本)
下一篇: asp.net中显示DataGrid控件列序号的几种方法

<form runat="server">


<ASP:DataGrid id="People" runat="server"
BorderColor="green"
Width="640"
PageSize="5"
AllowPaging="true"
OnPageIndExchanged="Page_Grid"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
ShowHeader="true"
Visible="true"


OnEditCommand="People_Edit"
OnCancelCommand="People_Cancel"
OnUpdateCommand="People_Update"
OnDeleteCommand="People_Delete">


<HeaderStyle BorderColor="White" BackColor="black"
ForeColor="White"
Font-Bold="True"
Font-Name="Arial"
Font-Size="9" HorizontalAlign="Center"/>


<ItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="8"
Font-Bold="False" HorizontalAlign="Center"/>


<EditItemStyle BorderColor=""
BackColor="#FFFFF0"
ForeColor="Black"
Font-Name="Arial"
Font-Size="7"
Font-Bold="False" HorizontalAlign="Center"/>


<PagerStyle Mode="NumericPages" Font-Size="8"/>


<Columns>


<asp:BoundColumn HeaderText="ID" ReadOnly="true" DataField="pkID"/>


<asp:TemplateColumn>


<HeaderTemplate>
<b> First Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Text=''<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>

 

<EditItemTemplate>
<asp:TextBox id="FirstName" Text=''
<%# DataBinder.Eval(Container.DataItem, "FirstName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:TemplateColumn>


<HeaderTemplate>
<b> Last Name </b>
</HeaderTemplate>


<ItemTemplate>
<asp:Label
Width="200"
Text=''<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server"/>
</ItemTemplate>


<EditItemTemplate>
<asp:TextBox id="LastName" Text=''<br>
<%# DataBinder.Eval(Container.DataItem, "LastName").ToString().Trim() %>''
runat="server" Width="100%"/>
</EditItemTemplate>


</asp:TemplateColumn>


<asp:EditCommandColumn
ButtonType="LinkButton"
CancelText="Cancel"
EditText="Edit"
UpdateText="Update" />


<asp:ButtonColumn Text= "Delete" CommandName="Delete"></asp:ButtonColumn>


</Columns>


</asp:DataGrid>


</form>

 


上一篇: 捕捉DataGrid的双击事件(C#版本)
下一篇: asp.net中显示DataGrid控件列序号的几种方法

 

 

在 WPF 开发中,DataGrid 控件提供了强大的数据编辑功能。实现 DataGrid 编辑内容的基本步骤包括设置可编辑列、绑定数据源以及处理相关事件来控制编辑行为。 ### 数据绑定与基础编辑 DataGrid编辑功能通常依赖于数据绑定机制。确保为 DataGrid 设置适当的 `ItemsSource` 属性以绑定到一个支持更改通知的数据集合(如 `ObservableCollection<T>`)。这样可以保证当用户在 DataGrid 中修改数据时,底层数据模型能够自动更新[^2]。 ```csharp public partial class MainWindow : Window { public ObservableCollection<Person> People { get; set; } public MainWindow() { InitializeComponent(); // 初始化数据集合并添加一些示例数据 People = new ObservableCollection<Person> { new Person { Name = "张三", Age = 30 }, new Person { Name = "李四", Age = 25 } }; MyDataGrid.ItemsSource = People; } } ``` ### 自定义编辑行为 可以通过订阅 `BeginningEdit` 事件来自定义开始编辑的行为。例如,在此事件中可以取消特定单元格的编辑操作或者初始化编辑器控件的状态[^1]。 ```csharp private void MyDataGrid_BeginningEdit(object sender, DataGridBeginningEditEventArgs e) { // 可以在此处添加逻辑判断是否允许编辑当前行/列 // 如果想阻止编辑,可以设置 e.Cancel = true; } ``` ### 列级别的编辑控制 如果需要更细粒度地控制哪些列是可编辑的,可以在 XAML 中为每一列指定 `IsReadOnly` 属性。对于 `DataGridTextColumn` 类型的列,这将直接决定该列是否允许用户输入新值。 ```xml <DataGrid x:Name="MyDataGrid" BeginningEdit="MyDataGrid_BeginningEdit"> <DataGrid.Columns> <DataGridTextColumn Header="姓名" Binding="{Binding Name}" IsReadOnly="False"/> <DataGridTextColumn Header="年龄" Binding="{Binding Age}" IsReadOnly="False"/> </DataGrid.Columns> </DataGrid> ``` ### 处理数据验证和错误 为了提供更好的用户体验,还可以利用数据验证规则来确保输入的数据符合预期。通过实现 `INotifyDataErrorInfo` 接口或使用简单的属性验证并在绑定表达式中启用验证,可以轻松地向用户提供反馈信息。 ```csharp public class Person : INotifyPropertyChanged, INotifyDataErrorInfo { private string name; private int age; private Dictionary<string, List<string>> errors = new Dictionary<string, List<string>>(); public string Name { get { return name; } set { if (value.Length < 2) AddError("Name", "名字至少需要两个字符"); else ClearErrors("Name"); name = value; OnPropertyChanged(); } } public int Age { get { return age; } set { if (value <= 0 || value > 150) AddError("Age", "年龄必须介于1到150之间"); else ClearErrors("Age"); age = value; OnPropertyChanged(); } } // 实现 INotifyDataErrorInfo 成员... public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } private void AddError(string propertyName, string error) { if (!errors.ContainsKey(propertyName)) errors[propertyName] = new List<string>(); errors[propertyName].Add(error); OnErrorsChanged(propertyName); } private void ClearErrors(string propertyName) { if (errors.ContainsKey(propertyName)) { errors[propertyName].Clear(); OnErrorsChanged(propertyName); } } public bool HasErrors => errors.Any(kv => kv.Value.Count > 0); public event EventHandler<DataErrorsChangedEventArgs> ErrorsChanged; protected void OnErrorsChanged(string propertyName) { ErrorsChanged?.Invoke(this, new DataErrorsChangedEventArgs(propertyName)); } public IEnumerable GetErrors(string propertyName) { if (string.IsNullOrEmpty(propertyName) || !errors.ContainsKey(propertyName)) return Enumerable.Empty<object>(); return errors[propertyName]; } } ``` 以上代码展示了如何创建一个具有基本编辑能力和数据验证的通知类,并且这些特性都可以无缝集成进 DataGrid 控件中去。通过这种方式,开发者可以获得非常灵活而强大的表格数据编辑能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值