Sharepoint 自定义字段(栏) 动态获取数据
2010-08-24 08:54
393 查看
想了半天,不知道这个题目怎么写。
那就描述一下:
编写一个自定义字段,这个字段继承于MultiChoices,这个Choices的项是动态的。
1:我们需要编写一个EventHander。这个EventHander是用来将自定义字段的值绑定。直接点就是:给自定义字段赋值咯。
我们为什么要用自定义字段呢,是因为,我们Sharepoint里面的查阅项DropDownList Value和Text 是相同的值。而我们在使用的时候,需要Value和Text 是不同的值。
直接贴代码:这是EventHander的主要代码。
代码 public class AppoveManFiledControl : BaseFieldControl {
private AppoveManFiled field;
private DropDownList ddlist;
public AppoveManFiledControl(AppoveManFiled parentField) {
this.field = parentField;
this.ddlist = new DropDownList();
}
protected override void OnInit(EventArgs e) {
base.OnInit(e);
}
protected override void CreateChildControls() {
base.CreateChildControls();
if (this.Field != null && this.ControlMode != SPControlMode.Display) {
ddlist = new DropDownList();
if (this.field.Choices.Count != 0) {
ddlist.Items.Add(new ListItem());
for (int i = 0; i < field.Choices.Count; i++) {
string[] valuestr = this.field.Choices[i].Split(';');
ListItem newItem = new ListItem(valuestr[1], valuestr[0]);
ddlist.Items.Add(newItem);
}
}
this.Controls.Add(ddlist);
}
}
protected override void Render(HtmlTextWriter output) {
base.Render(output);
}
public override object Value {
get {
EnsureChildControls();
if (string.Empty.Equals(ddlist.SelectedValue)) { return null; }
return ddlist.SelectedValue+","+ddlist.SelectedItem.Text;
}
set {
EnsureChildControls();
//ddlist.SelectedValue = (string)this.ItemFieldValue;
ddlist.SelectedValue = this.ItemFieldValue.ToString().Split(',')[0];
}
}
public override void Focus() {
EnsureChildControls();
ddlist.Focus();
}
}
主要实现功能,我们在工作流审批时,需要动态选择下一级审批人,审批人是从工作流流程配置中获取的。
那就描述一下:
编写一个自定义字段,这个字段继承于MultiChoices,这个Choices的项是动态的。
1:我们需要编写一个EventHander。这个EventHander是用来将自定义字段的值绑定。直接点就是:给自定义字段赋值咯。
我们为什么要用自定义字段呢,是因为,我们Sharepoint里面的查阅项DropDownList Value和Text 是相同的值。而我们在使用的时候,需要Value和Text 是不同的值。
直接贴代码:这是EventHander的主要代码。
代码 public class AppoveManFiledControl : BaseFieldControl {
private AppoveManFiled field;
private DropDownList ddlist;
public AppoveManFiledControl(AppoveManFiled parentField) {
this.field = parentField;
this.ddlist = new DropDownList();
}
protected override void OnInit(EventArgs e) {
base.OnInit(e);
}
protected override void CreateChildControls() {
base.CreateChildControls();
if (this.Field != null && this.ControlMode != SPControlMode.Display) {
ddlist = new DropDownList();
if (this.field.Choices.Count != 0) {
ddlist.Items.Add(new ListItem());
for (int i = 0; i < field.Choices.Count; i++) {
string[] valuestr = this.field.Choices[i].Split(';');
ListItem newItem = new ListItem(valuestr[1], valuestr[0]);
ddlist.Items.Add(newItem);
}
}
this.Controls.Add(ddlist);
}
}
protected override void Render(HtmlTextWriter output) {
base.Render(output);
}
public override object Value {
get {
EnsureChildControls();
if (string.Empty.Equals(ddlist.SelectedValue)) { return null; }
return ddlist.SelectedValue+","+ddlist.SelectedItem.Text;
}
set {
EnsureChildControls();
//ddlist.SelectedValue = (string)this.ItemFieldValue;
ddlist.SelectedValue = this.ItemFieldValue.ToString().Split(',')[0];
}
}
public override void Focus() {
EnsureChildControls();
ddlist.Focus();
}
}
主要实现功能,我们在工作流审批时,需要动态选择下一级审批人,审批人是从工作流流程配置中获取的。
相关文章推荐
- [abap] 通过动态参数获取字段数据
- 如何动态获取数据库表中的数据,数据库中的字段是在变化的
- Oracle 数据字典(可用它动态获取字段名、长度、类型等)
- [abap] 通过动态参数获取字段数据
- echarts画圆环统计图并加载动态数据 (ajax获取数据)
- Echarts折线图动态获取数据实例(附java后台代码)
- 动态字段绑定列表数据
- ASP.NET Dynamic Data Part.2(自定义动态数据网站)
- arcgis api for javascript (2) 获取属性字段及自定义graphic样式
- Sharepoint 自定义字段类型
- [iOS基础控件 - 6.6.1] 展示团购数据代码[iOS基础控件 - 6.7] 微博展示 使用代码自定义TableCell(动态尺寸)
- NSUserDefaults 写入及获取用户的自定义数据
- echarts图表动态获取后台数据详解(一)
- 在Grid中,添加自定义的字段,并动态填充字段值
- jQuery easyUI动态获取表结构并显示表中的数据)
- angular js 自定义字段查询+自定义排序+获取类的方法
- 动态分行、动态分列(text数据类型的字段中,单元格包含分行字符)
- (原创)使用AsyncTask(带修改线程池方式)+自定义ImageLoader+LRU算法对图片三级缓存及其显示优化(只有在ListView滑动停止的时候才去网络请求获取图片数据)
- 数据库表设计--动态字段
- Java获取后台数据,动态生成多行多列复选框