This is a migrated thread and some comments may be shown as answers.

Mark row selected based on a field

1 Answer 79 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Chris
Top achievements
Rank 1
Chris asked on 15 Jul 2011, 03:37 PM
Hello,

So I need to put information on a grid that has the following structure:

SampleNumber(varchar20)
Date(DateTime)
Notes(text)
IsValid(bit)

the last column (IsValid) does not need to be visible, but if it is set to false, then that particular row needs to be selected. No checkbox or command buttons are needed, the row will be selected only if IsValid == false, hence, everything has to be server side.

Any hint will be appreciated, thanks!

1 Answer, 1 is accepted

Sort by
0
Accepted
Jayesh Goyani
Top achievements
Rank 2
answered on 16 Jul 2011, 10:13 AM
Hi,

<telerik:RadGrid ID="RadGrid2" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid2_NeedDataSource"
           AllowPaging="true" PageSize="8" AllowMultiRowSelection="true"
           onitemdatabound="RadGrid2_ItemDataBound">
           <MasterTableView DataKeyNames="ID,IsValid">
               <Columns>
                   <telerik:GridBoundColumn DataField="ID" HeaderText="ID">
                   </telerik:GridBoundColumn>
                   <telerik:GridBoundColumn DataField="Name" HeaderText="Name">
                   </telerik:GridBoundColumn>
               </Columns>
           </MasterTableView>
           <PagerStyle AlwaysVisible="true" />
       </telerik:RadGrid>

protected void RadGrid2_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        dynamic data = new[] {
                new { ID = 1, Name ="Name1",IsValid=true},
                new { ID = 2, Name = "Name2",IsValid=true},
                new { ID = 3, Name = "Name3",IsValid=false},
                new { ID = 4, Name = "Name4",IsValid=true},
                new { ID = 5, Name = "Name5",IsValid=true},
                new { ID = 6, Name ="Name6",IsValid=false},
                new { ID = 7, Name = "Name7",IsValid=true},
                new { ID = 8, Name = "Name8",IsValid=true},
                new { ID = 9, Name = "Name9",IsValid=false},
                new { ID = 10, Name = "Name10",IsValid=true},
                new { ID = 11, Name ="Name11",IsValid=true},
                new { ID = 12, Name = "Name12",IsValid=true},
                new { ID = 13, Name = "Name13",IsValid=false},
                new { ID = 14, Name = "Name14",IsValid=true},
                new { ID = 15, Name = "Name15",IsValid=true}
            };
        RadGrid2.DataSource = data;
    }
 
protected void RadGrid2_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            GridDataItem item = (GridDataItem)e.Item;
            bool IsValid = Convert.ToBoolean(item.GetDataKeyValue("IsValid"));
            if (IsValid == false)
            {
                item.Selected = true;
            }
        }
    }

let me know if any concern.

Thanks,
Jayesh Goyani
Tags
Grid
Asked by
Chris
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Share this question
or