Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何通过FindItemByKeyValue在radgrid中查找字符串值_Asp.net_Vb.net_Telerik_Radgrid - Fatal编程技术网

Asp.net 如何通过FindItemByKeyValue在radgrid中查找字符串值

Asp.net 如何通过FindItemByKeyValue在radgrid中查找字符串值,asp.net,vb.net,telerik,radgrid,Asp.net,Vb.net,Telerik,Radgrid,嗨,我有一个radgrid,我必须在上面找到一个值,如果找到了该项,则生成消息 下面是我的代码 Protected Sub btnAdd_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAdd.Click If IsAlreadyExist() Then ram.Alert("") Else If IsAlreadyAdded() Then

嗨,我有一个radgrid,我必须在上面找到一个值,如果找到了该项,则生成消息

下面是我的代码

Protected Sub btnAdd_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAdd.Click
        If IsAlreadyExist() Then
            ram.Alert("")
        Else
            If IsAlreadyAdded() Then
                ram.Alert("")
            Else
                employees()
            End If


        End If
    End Sub
这是IsAlreadyAdded方法,我试图在网格中找到一个特定的值,如果它存在,它将返回false

Private Function IsAlreadyAdded() As Boolean
        'If rgListnk.MasterTableView.Items.Count > 0 Then
        Dim itm As GridDataItem = rgList.MasterTableView.FindItemByKeyValue("DEFAULT", "Y")

        If IsNothing(itm) Then
            Return False
        Else
            Return True
        End If

    End Function

谢谢…

为了找到单元格的值,您需要循环遍历网格的每一行

如果要通过FindItemByKeyValue查找项,请确保指定了DataKeyNames

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<telerik:RadGrid ID="RadGrid1" runat="server"
    OnNeedDataSource="RadGrid1_NeedDataSource">
    <MasterTableView DataKeyNames="Id">
    </MasterTableView>
</telerik:RadGrid>
<asp:Button runat="server" ID="Button1"
    OnClick="Button1_Click" Text="Submit" />

public partial class Default : System.Web.UI.Page
{
    public class User
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void RadGrid1_NeedDataSource(object sender,
        GridNeedDataSourceEventArgs e)
    {
        RadGrid1.DataSource = new List<User>
        {
            new User {Id = 1, FirstName = "Jon", LastName = "Doe"},
            new User {Id = 2, FirstName = "Marry", LastName = "Doe"},
            new User {Id = 3, FirstName = "Eric", LastName = "Newton"},
        };
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        var firstItem = RadGrid1.MasterTableView.FindItemByKeyValue("Id", 1);
        if (firstItem != null)
        {
            var firstName = firstItem["FirstName"].Text;
            var lastName = firstItem["lastName"].Text;
        }

        foreach (GridItem item in RadGrid1.MasterTableView.Items)
        {
            if (item is GridDataItem)
            {
                var dataItem = item as GridDataItem;
                var firstName = dataItem["FirstName"].Text;
                var lastName = dataItem["lastName"].Text;
            }
        }
    }
}

公共部分类默认值:System.Web.UI.Page
{
公共类用户
{
公共int Id{get;set;}
公共字符串名{get;set;}
公共字符串LastName{get;set;}
}
受保护的无效页面加载(对象发送方、事件参数e)
{
}
受保护的void RadGrid1_NeedDataSource(对象发送方,
GridNeedDataSourceEventArgs(e)
{
RadGrid1.DataSource=新列表
{
新用户{Id=1,FirstName=“Jon”,LastName=“Doe”},
新用户{Id=2,FirstName=“mary”,LastName=“Doe”},
新用户{Id=3,FirstName=“Eric”,LastName=“Newton”},
};
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
var firstItem=RadGrid1.MasterTableView.FindItemByKey值(“Id”,1);
if(firstItem!=null)
{
var firstName=firstItem[“firstName”]。文本;
var lastName=firstItem[“lastName”].Text;
}
foreach(RadGrid1.MasterTableView.Items中的GridItem项)
{
if(项为GridDataItem)
{
var dataItem=作为GridDataItem的项目;
var firstName=dataItem[“firstName”].Text;
var lastName=dataItem[“lastName”].Text;
}
}
}
}

感谢您抽出时间回复。为什么我不能通过.FindItemByKeyValue()完成此操作?有什么具体原因吗?我更新了答案。确保指定了MasterTableView的DataKeyName(在您的情况下,它是默认值)。