序号 单位名称 技术分(满分5) 公司资质(满分30) 方案(满分5) 价格(满分3.5)合计
1 单位1 分数 分数 分数 分数 分数
2 单位2 分数 分数 分数 分数 分数
3 单位3 分数 分数 分数 分数 分数
4 单位4 分数 分数 分数 分数 分数-----------------------
问题: datagrid有什么办法实现以上类似的多行同时编辑的状态,然后点击一按钮便实现全部更新?
1 单位1 分数 分数 分数 分数 分数
2 单位2 分数 分数 分数 分数 分数
3 单位3 分数 分数 分数 分数 分数
4 单位4 分数 分数 分数 分数 分数-----------------------
问题: datagrid有什么办法实现以上类似的多行同时编辑的状态,然后点击一按钮便实现全部更新?
解决方案 »
- fusioncharts 折线统计表 怎样让鼠标停在这线上就显示当前值 大侠们帮帮忙
- 请教各位一个关于图片上传的问题
- asp.net DataList控件的分页问题,效果要类似DataGridView控件的分页样式
- 散分:解决方案文档应该怎么写,包括几个部分?需不需要大量的图表?哪位哪给个提纲出来?
- 两个问题
- 求助,访问access数据库,进行简单的添加删除操作
- ASP.net 上传巨大文件续
- MSDN上在讲ASP.NET2.0的新功能,那么如何从1.1升级2.0呢?
- 结构化数据集和非结构化数据集的区别
- 怎么得到DropDownList的当前值??
- asp代码如何改写成asp.net代码?
- 急着求解: Gridview中 多行同时编辑,点击一按钮可以在gridview增加行,试的方法总出错,哪位赐教一下啊?
在DataGrid中增加CheckBox模版列,将所有选中列的数据邦定到DataList,
然后在DataList中修改,DataList用接值的文本框和选择框等组成。
最后将所有DataList中的数据用GetChanges()方法将所有发生改变的数据统一提交到DataAdapter进行Update()
使用textbox不过实现起来有点麻烦,提倡不用,还不如一行一行的改,那样容易出问题
谢谢楼上几位。取值与更新数据的思路有了。现在的问题是,如何在页面加载时,就把当前datagrid的所有行变为可编辑的状态,这才是关键。
像c/s的报表处理,就比较方便,打开一个报表模板,用户就可整页编辑。最后只点击一个按钮便完成更新。如果在datagrid中,每行加一个更新按钮,不要说客户,连我们自己都烦s
————————————————————————————————————————
A: 如果你使用自定义模板列绑定TextBox,那么DataGrid显示的时候就是TexBox——可编辑的一个个单元格。此时DataGrid那种“编辑”按钮就根本不用了!
——————————————————————————————————————————
A:可能我没有说清楚?!我的意思是你要在设计器上用自定义模板列而不用自动绑定列,然后从工具箱栏中将一个个Textbox控件拖入各个模板,有几列就拖入几个Textbox。如果你的DataGrid是10行9列的,那么叶面显示的时候就出现90个TextBox。
to: sp1234(警惕“败事有余”,容忍“成事不足”) 谢谢兄弟的建议,这样的办法不错,但假设行与列数都不固定,此办法似乎行不通?
另,给你发了短消息,请查收。
<Columns>
<asp:BoundColumn ReadOnly="True" HeaderText="编号">
<HeaderStyle Width="25px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Title" HeaderText="题干">
<HeaderStyle Width="450px"></HeaderStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="答案">
<HeaderStyle Width="150px"></HeaderStyle>
<ItemTemplate>
<asp:TextBox id="TextShortRubric" runat="server" Width="100%" Height="100%"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid> //保存填空题
//循环取的DataGrid控件中选定项的值
i = 0;
SelectLib = lblLib4.Text.Split(',');
foreach(DataGridItem oDataGridItem in grid4.Items)
{
strSql.Append("update PaperList set ");
textbox = (TextBox)oDataGridItem.FindControl("TextShortRubric");
if(textbox.Text == "")
{
strSql.Append(" KeyA=''");
}
else
{
strSql.Append(" KeyA='"+myBusFunction.EnCos(textbox.Text)+"'");
}
strSql.Append(" where ID='"+SelectLib[i]+"';");
i++;
}
——————————————————————————————————————————
A:模板列(TemplateColumn)是完全可以用代码创建的。整个DataGrid,不管是自动绑定还是模板、不管你在设计器上怎么定义,都是可以完全用程序创建的。实际上我更喜欢用程序动态产生。你可以Google一下代码“new TemplateColumn()”,应该比较容易找到很专业的例子和说明,我就不在这里说详细了。