asp.net – Telerik RadGrid具有不同类型的编辑控件
发布时间:2020-12-16 09:33:37 所属栏目:asp.Net 来源:网络整理
导读:我必须发布一个字段列表.有些是可编辑的,有些则不是.那些可以是不同的类型,例如文本字段,日期,时间或布尔值.我正在使用Telerik的RadGrid.请参阅我制作的测试项目的屏幕截图. 问题: 在项目创建的处理程序中,为什么有4个单元格?我必须填写单元格[2]和单元格[
我必须发布一个字段列表.有些是可编辑的,有些则不是.那些可以是不同的类型,例如文本字段,日期,时间或布尔值.我正在使用Telerik的RadGrid.请参阅我制作的测试项目的屏幕截图.
问题: 为什么item.RowIndex会被两个人包含并最多二十个?当我有10行. 有一个更好的方法吗? 这是我如何声明网格: <telerik:RadGrid runat="server" ID="Grid1" Width="100%" Height="500px" GridLines="None" AutoGenerateColumns="false" OnItemCreated="OnGridItemCreated" OnNeedDataSource="OnGridNeedDataSource"> <ItemStyle Wrap="true" /> <AlternatingItemStyle Wrap="true" /> <ClientSettings> <Selecting AllowRowSelect="false" /> <Scrolling AllowScroll="true" UseStaticHeaders="true" /> <Resizing AllowColumnResize="true" ClipCellContentOnResize="true" ResizeGridOnColumnResize="true" EnableRealTimeResize="true" /> </ClientSettings> <MasterTableView> <NoRecordsTemplate> <asp:Label ID="lblNorec1" runat="server" Text="No records"></asp:Label> </NoRecordsTemplate> <Columns> <telerik:GridTemplateColumn UniqueName="FieldDisplayName" HeaderText="Field Name"> <ItemTemplate> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="FieldValue" HeaderText="Value"> <ItemTemplate> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid> / / grid needs datasource protected void OnGridNeedDataSource(object source,GridNeedDataSourceEventArgs e) { // create a DataSource DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Field_Display_Name")); dt.Columns.Add(new DataColumn("Field_Value")); for (int i = 0; i < 10; ++i) { DataRow dr = dt.NewRow(); dr["Field_Display_Name"] = "Item Id" + i.ToString(); dr["Field_Value"] = "Value" + i.ToString(); dt.Rows.Add(dr); } ds.Tables.Add(dt); Grid1.DataSource = ds; } // grid item is created protected void OnGridItemCreated(object sender,GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; // fill in cells 2 and 3. Why are there 4? Label lbl = new Label(); lbl.Text = "Field " + item.RowIndex; item.Cells[2].Controls.Add(lbl); switch (item.RowIndex) { case 2: case 8: RadTextBox txt = new RadTextBox(); txt.ID = "RadTextBox1"; txt.Text = "hello " + item.RowIndex; item.Cells[3].Controls.Add(txt); break; case 4: case 10: RadDatePicker dp = new RadDatePicker(); dp.ID = "RadDatePicker1"; dp.SelectedDate = DateTime.Now; item.Cells[3].Controls.Add(dp); break; case 6: case 12: CheckBox cb = new CheckBox(); item.Cells[3].Controls.Add(cb); break; default: Label lbl2 = new Label(); lbl2.Text = "Value " + item.RowIndex; item.Cells[3].Controls.Add(lbl2); break; } } } alt text http://img193.imageshack.us/img193/1254/customgrid.png 解决方法
如果网格反映了您的实际需求,我建议您使用ASP FormView中的HTML表.您可以在HTML中找出您在此处显示的大部分内容.有很多FormView教程,它看起来更像是你所追求的解决方案.不要试图将那些东西挤进一个radgrid的复杂性让你走向错误的方向.
如果你想一次显示10条记录,那就是gridview / radgrid派上用场的地方,如果它一次只是一条记录,请查看formview. 编辑:我刚刚注意到这个问题就像一年前一样.我希望你还没有等待这个问题的答案! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc – 为什么MvcApplication.RegisterR
- vbscript – 经典ASP中的三重DES解密?
- asp.net-mvc – 带有条件自定义命令按钮的MVC中的
- 使用ASP.NET Web API进行OAuth Facebook身份验证
- asp.net-mvc – 验证:Model或ViewModel
- 【转】通俗易懂,什么是.NET?什么是.NET Framewo
- asp.net – 如何访问共享子中的会话变量
- Asp.net:实现自动注销功能
- asp-classic – 经典的asp / asp.net网站 – glo
- asp.net-mvc – 如何在使用Html.BeginForm时使用
热点阅读