如何验证具有相同值的列?

时间:2013-07-28 12:14:23

标签: asp.net devexpress aspxgridview

如何验证具有相同值的列,我尝试使用此代码:

protected void ASPxGridView1_RowValidating(object sender, DevExpress.Web.Data.ASPxDataValidationEventArgs e)
        {
            XPQuery<Inventory_Library.Inventory.t_barang_master> q = new XPQuery<Inventory_Library.Inventory.t_barang_master>(ses);
            List<Inventory_Library.Inventory.t_barang_master> lst = (from o in q
                                                                     where (o.nama_barang == e.OldValues["nama_barang"] && o.kode_barang == e.OldValues["kode_barang"])
                                                                   select o).ToList<Inventory_Library.Inventory.t_barang_master>();
            if (lst.Contains(e.OldValues["nama_barang"]))
            {
                e.RowError = "Nama barang yang anda masukkan telah terdaftar dalam sistem";
            }
            else if (lst.Contains(e.OldValues["kode_barang"]))
            {
                e.RowError = "Kode barang yang anda masukkan telah terdaftar dalam sistem";
            }
        }

但这不起作用,如何解决这个问题,谢谢你的回答

1 个答案:

答案 0 :(得分:0)

问题解决,如果您发现同样的问题,可以使用此代码:

        protected void ASPxGridView1_RowValidating(object sender, DevExpress.Web.Data.ASPxDataValidationEventArgs e)
    {
        XPQuery<Inventory_Library.Inventory.t_kategori> q = new XPQuery<Inventory_Library.Inventory.t_kategori>(ses);
        List<Inventory_Library.Inventory.t_kategori> lst = (from o in q
                                                            where (o.kategori == e.NewValues["kategori"])
                                                            select o).ToList<Inventory_Library.Inventory.t_kategori>();

        if (lst.Count > 0)
        {
            e.RowError = "Kategori yang anda masukkan telah terdaftar dalam sistem";
        }
    }