我在使用WebGrid控件时遇到的问题及解决方法:
1. webgrid的RowChanged 事件没有相应
解决:客户端代码中<LayoutSettings AllowAddNew="Yes" AllowDelete="Yes" AllowEdit="Yes" RowChangedAction="OnTheFlyPostback">
</LayoutSettings>
设置RowChangedAction="OnTheFlyPostback
2.客户端事件在哪里添加
解决:<LayoutSettings AllowAddNew="Yes" AllowDelete="Yes" AllowEdit="Yes" RowChangedAction="OnTheFlyPostback">
<ClientSideEvents OnRowValidate="wgUserRole_OnRowValidate" />
</LayoutSettings>
ClientSideEvents 中可以添加客户端事件
3.WebGrid的列内容唯一
"解决: 因为我们是通过datatable绑定的。。绑定前DataColumn设置列.Unique = true;
4.隐藏一列
解决:把改列的宽设置为 0px
5.在WebGrid控件中,设置该列的EditType="NoEdit"过后,通过UI中自带的新增行功能是不能录入信息的
解决:
}
6.WebGrid的列无法绑定下拉框(前提WebGrid是通过服务段代码绑定的数据源)
解决:
1. 在设置数据时先设置数据源(dt为表名)然后设置邦定的类型、控件的名称和显示的值等。
2. 设置邦定控件的数据源(dy为表名)和显示值等。
3. 邦定数据到相应得控件。(下面是部分代码)
this.WebGrid1.DataSource = dt;
this.WebGrid1.RootTable.Columns[1].EditType = ISNet.WebUI.WebGrid.EditType.WebComboNET;
this.WebGrid1.RootTable.Columns[1].WebComboID = "WebCombo1";
this.WebGrid1.RootTable.Columns[1].ValueList.DataTextField = "CompanyName";
this.WebGrid1.RootTable.Columns[1].ValueList.DataValueField = "CustomerID";
this.WebCombo1.DataSource = dy;
this.WebCombo1.DataTextField = "CompanyName";
this.WebCombo1.DataValueField = "CustomerID";
WebGrid1.DataBind();
WebCombo1.DataBind();