首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

一个相对繁琐的有关问题,但很有技术含量。所以百分相送

2012-01-18 
一个相对繁琐的问题,但很有技术含量。所以百分相送实现的效果是这样的:栏目名称1复选框1复选框2单选按钮1单

一个相对繁琐的问题,但很有技术含量。所以百分相送
实现的效果是这样的:
  栏目名称1
  复选框1           复选框2           单选按钮1     单选按钮2         输入框
 
  栏目名称2
  复选框1           复选框2           单选按钮1     单选按钮2         输入框

  栏目名称3
  复选框1           复选框2           单选按钮1     单选按钮2         输入框

  栏目名称4
  复选框1           复选框2           单选按钮1     单选按钮2         输入框

栏目的名称是从数据库中读出来的。而这些复选框,单选框和输入框是后期添加的。
问题一:栏目的名称数量可能不固定,但是从数据库中读出来的,用什么方式能显示出像这样的效果呢?   是   datalist吗?那如果方便的添加这些控件呢?
问题二:用户可以什么都不进行操作,但是如果选择某一项就必须把这个栏目的选项全部处理完才可以。例如:用户只对栏目名称2操作,他选择了复选框1后(当然也可以对复选框1或2都选),还必须从单选按钮1和2中选择一项,如果选择了单选按钮2后还必须在输入框中输入数字(不许为空),选择了单选按钮1不用输入或是在最后不获取输入框的数据。点击保存的时候,如果才能获取这些相对应的信息呢?

[解决办法]
问题一:栏目的名称数量可能不固定,但是从数据库中读出来的,用什么方式能显示出像这样的效果呢? 是 datalist吗?那如果方便的添加这些控件呢?
==============================================
用DataList可以,每项前面可以有个选择项(比如单选按钮),当用户点击点击即视为选中当前项,然后上面给各界面让用户选择添加何种控件
[解决办法]
问题二
FindControl找到相应的控件及其值
[解决办法]
两个Gridview嵌套:

<asp:GridView ID= "gvParent " runat= "server " CellPadding= "0 " CellSpacing= "0 " AutoGenerateColumns= "False "
OnRowDataBound= "gvParent_RowDataBound " OnPageIndexChanging= "gvParent_PageIndexChanging "
PageSize= "5 " AllowPaging= "True ">
<HeaderStyle CssClass= "ViewTitle " />
<PagerSettings Mode =NumericFirstLast />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<table class= "rpt_table " align= "left " border= "1 ">
<tr>
<td class= "w30 ">
No. </td>
<td class= "w240 ">
Vendor Code </td>
<td class= "w380 ">
Vendor Name </td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table class= "rpt_table " border= "1 " cellpadding= "0 " cellspacing= "0 " align= "left ">
<tr class= "outItem ">
<td id= "Td1 " runat= "server " class= "w31 ">
<asp:Label ID= "index " runat= "server "> </asp:Label>
</td>
<td class= "w240 ">


<span id= "vendorCode " runat= "server ">
<%#DataBinder.Eval(Container.DataItem, "VendorCode ") %>
</span>
</td>
<td class= "w380 ">
<%#DataBinder.Eval(Container.DataItem, "VendorName ") %>
</td>
</tr>
<tr id= "trChild " runat= "server ">
<td>
</td>
<td colspan= "2 " align= "left ">
<asp:GridView ID= "gvChild " BorderWidth= "1 " runat= "server " AutoGenerateColumns= "False "
Width= "100% " OnRowDataBound= "gvChild_RowDataBound " OnRowEditing= "gvChild_RowEditing "
OnRowCancelingEdit= "gvChild_RowCacelingEdit " OnRowUpdating= "gvChild_RowUpdating "
OnRowDeleting= "gvChild_RowDeleting " DataKeyNames= "Id ">
<Columns>
<asp:TemplateField HeaderText= "No. " ItemStyle-CssClass= "w31 " HeaderStyle-CssClass= "w31 "
HeaderStyle-Font-Bold= "true ">
<ItemTemplate>
<label id= "lb " runat= "server ">
</label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField= "Id " ReadOnly= "true " Visible= "false " />
<asp:BoundField DataField= "CustomerName " HeaderText= "For Customer " ItemStyle-CssClass= "w112 "
HeaderStyle-CssClass= "w112 " HeaderStyle-Font-Bold= "true " ReadOnly= "true " />
<asp:BoundField DataField= "TypeName " HeaderText= "Vendor Type " ItemStyle-CssClass= "w82 "
HeaderStyle-CssClass= "w82 " HeaderStyle-Font-Bold= "true " ReadOnly= "true "> </asp:BoundField>
<asp:TemplateField HeaderText= "Start Time " ItemStyle-CssClass= "w90 " HeaderStyle-CssClass= "w90 "
HeaderStyle-Font-Bold= "true ">
<ItemTemplate>
<asp:Label runat= "server " Text= ' <%# Bind( "StartTime ") %> ' ID= "StartTime "> </asp:Label>


</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText= "End Time " ItemStyle-CssClass= "w90 " HeaderStyle-CssClass= "w90 "
HeaderStyle-Font-Bold= "true ">
<EditItemTemplate>
<input type= "text " runat= "server " id= "editEt " readonly= "readOnly " class= "w82_ " />
</EditItemTemplate>
<ItemTemplate>
<asp:Label runat= "server " Text= ' <%# Bind( "EndTime ") %> ' ID= "EndTime "> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton= "true " HeaderText= "Edit " EditText= "Edit " CancelText= "Cancel "
UpdateText= "Update " ItemStyle-CssClass= "w100 " HeaderStyle-CssClass= "w100 " HeaderStyle-Font-Bold= "true " />
<asp:CommandField ShowDeleteButton= "true " HeaderText= "Delete " DeleteText= "Delete "
ItemStyle-CssClass= "w78 " HeaderStyle-CssClass= "w78 " HeaderStyle-Font-Bold= "true " />
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>

</asp:GridView>
[解决办法]
关注帮顶,
[解决办法]
学习一下
帮顶
[解决办法]
忘说了 我用的是 vs2003
____________________________
Gridview --> DataGrid即可。
[解决办法]
DataList添加自定义控件,把每一行相同的东东作成一个用户控件,这样添加起来比较方便。
[解决办法]
用DataGrid的莫板列,再加checkbox、radiobutton等控件
[解决办法]
单选框和复选框中的数据是从哪来的?
[解决办法]
帮忙顶,接分,谢谢
[解决办法]
帮顶!
[解决办法]
利用DataList做一个模板绑定列,其中上部对应类型,下部对应复选框和单选框还有输入框,
数据库结构要设计合理,例如:
类型表主表,复选框、单选框、输入框等都为子表内容。


子表对应字段为:自动ID,类型ID,复选框1,复选框2,单选框,输入框等
通过关联进行后期绑定,然后根据DataList的Cell可以进行判断,输出错误信息等。
[解决办法]
利用DataList嵌套模板,然后在里面放CheckBoxList,RadioBoxList,最近要取数据的话用FindControl去控件,然后取数据
[解决办法]
1。
GridView/DataGrid/DataList/Repeater 都可以实现

模板列嵌套CheckBoxList 和 RadioButtonList 以及 TextBox

2。
前半个问题,通过 js 可以有效控制
后半个问题,同 FindControl 可以获取对象模板列中每行的嵌入控件
[解决办法]
GridView/DataGrid/DataList/Repeater 都可以实现

前半个问题,通过 js 可以有效控制
后半个问题,同 FindControl 可以获取对象模板列中每行的嵌入控件

最好用AJAX
[解决办法]
希望对你有帮助!
DataGrid
对生成的DropDownList等控件进行有规则的命名,这个很重要,因为看你给出的DropDownList等控件的数量是有规则的,这样就可以计算并得出每行的DropDownList等控件的名称
然后用
DropDownList DDl0=new DropDownList();
DDl0=(DropDownList)div1.FindControl( "DropDownList0 ");
去寻找动态生成的控件,并取得他们的值。
[解决办法]
在GridView的RowDataBound事件中修改控件属性

protected void grvDocument_RowDataBound(object sender, GridViewRowEventArgs e) {
LinkButton lnb = e.Row.FindControl( "lnkDel ") as LinkButton;
//e.Row.Cells 中包含该行所有列的值
if (lnb != null) {
lnb.Attributes.Add( "OnClick ", "return CheckDel(); ");
}
}
[解决办法]
如果可以别对所有的栏目一起编辑,可以做个列表列出栏目的名称,具体对这个栏目的操作(增、删、改),可以对名称做个超链接,点击名称后进入新的页面,对其进行编辑,感觉这样更好一些。
[解决办法]
用js最好实现了
后台输出到html中
在后台中提取数据库信息创建 <input> 控件
不过注意事件触发后js信息将不复存在
[解决办法]
up
[解决办法]
现在的控件不能解决的问题就自己写代码来解决,这样就没有什么不能做到的了,只是要复杂一些
[解决办法]
能,这与gridview加选框没什么不同啊
[解决办法]
自己拼html代码啊。。。
[解决办法]
我知道最后肯定是要用到FindControl 但是 最后怎么能分类的整理信息。数组? 还是用分割符

=========

后续是什么处理?

一般不拼接字符串传递,用强类型,如数组,动态列表,如ArrayList, List <T>
[解决办法]
就一句看不出来!你把代码帖多点出来!!
[解决办法]
却是很麻烦。如果可以的话,最好分离任务。
把界面分为顺序工作流,也可以考虑使用新的模式。

如果是太复杂的任务,使用起来也麻烦,也容易出现想不到的情况。
[解决办法]
那是因为前台获得数据早于后台给的数据
当前台已经生成好的时候,后台才给出数据


奇怪楼主为什么用DataList?以前遇到这些我一般用Datatable来控制,一般好调整页面,另以方便就是便于管理
操作方便
[解决办法]
关注!
[解决办法]
up

热点排行