获取 Label 上所有已传输的 RadListBox 项目并使用 RadListBox_items, ID 绑定 RadGrid
Get all the transferred RadListBox items on Label & bind a RadGrid using RadListBox_items, ID
1.) 我正在使用下面的代码将项目从一个 RadListBox
转移到另一个
HTML代码:
A<telerik:RadListBox ID="RadListBox1" runat="server" Width="250px" Height="200px"
TransferMode="Move" AllowTransfer="True" TransferToID="rlbGI_BU" SelectionMode="Multiple"
OnTransferred="RadListBox1_Transferred"
AutoPostBackOnTransfer="true">
</telerik:RadListBox>
B<telerik:RadListBox ID="RadListBox2" runat="server" Width="250px" Height="200px"
EnableEmbeddedSkins="False" Skin="MetroRed" ImagesPath="../App_Themes/MetroRed/ListBox"
OnInserted="RadListBox2_Inserted" SelectionMode="Multiple"
OnDeleted="RadListBox2_Deleted" AutoPostBackOnDelete="true">
</telerik:RadListBox>
<br />
<asp:Label runat="server" ID="lblDeletedList2"></asp:Label>
<asp:Label runat="server" ID="lblInsertedList2"></asp:Label>
<asp:Label runat="server" ID="lblTransdList1"></asp:Label>
C#代码:
private string _SPID = null;
private DataTable _dtSPBU = null;
protected void Page_Load(object sender, EventArgs e)
{
_SPID = Request.QueryString["SPID"];
if (!string.IsNullOrEmpty(_SPID))
{
_dtSPBU = SDM.SPBU.GetSPBUBySPBUfoSPID(_SPID);
}
}
protected void bind_RadListBox1()
{
RadListBox1.DataTextField = "BUName";
RadListBox1.DataValueField = "SPBUfoBUID";
RadListBox1.DataSource = _dtSPBU;
RadListBox1.DataBind();
}
protected void RadListBox2_Inserted(object sender, RadListBoxEventArgs e)
{
ArrayList myTest = new ArrayList();
//StringBuilder s = new StringBuilder();
for (int i = 0; i < e.Items.Count; i++)
{
myTest.Add(rlbGI_BU.Items[i].Text);
foreach (string x in myTest)
{
lblInsertedList2.Text += x + ", " + " ";
}
}
}
protected void RadListBox2_Deleted(object sender, RadListBoxEventArgs e)
{
lblDeletedList2.Text += e.Items.Count.ToString() + " items are deleted";
}
protected void RadListBox1_Transferred(object sender, RadListBoxTransferredEventArgs e)
{
lblTransdList1.Text += e.Items.Count.ToString() + " items are transferred";
}
我想在 Label
控件(例如 lblInsertedList2
标签)中获取从 RadListBox1
到 RadListBox2
的传输项,因为稍后我必须绑定一个 RadGrid
基于 RadListBox2 中的项目。
为此,我创建了 RadListBox2_Inserted
事件,在该事件中我试图在标签中获取 RadListBox2
的项目。
现在,当我将 RadListBox1 的 1 个以上项目传输到 RadListBox2(使用 ctrl 按钮)时,第一个选定的项目将重复。
示例:
RadListBox1 有 "a"、"b"、"c" 项。
当我将所有 "a"、"b"、"c" 从 RadListBox1 转移到 RadListBox2(使用 ctrl 按钮)
我看到以下输出:a a b a b c
正确的输出应该是:a b c
请检查以下快照以了解上述问题:
同样,RadListBox1 有 "a"、"b"、"c" 项
当我将项目 1 个 1 个地从 RadListBox1 转移到 RadListBox2
示例:
当我只传输 a 时,我看到以下输出:a(第一次)
当我只传输 b 时,我看到以下输出:a,a(第二次)
当我只传输 c 时,我看到以下输出:a, a, a (3rd time)
请检查以下快照以了解上述问题:
2.) 我想绑定 RadGrid
使用:
- _SPID = Request.QueryString["SPID"]
- 进入 RadListBox2 的项目(仅从 RadListBox1 中选择的项目)
现在我只使用 Request.QueryString["SPID"]
绑定 RadGrid
,所以我得到了与 "SPID"
相关的所有数据
示例:
SPID RadListBox1_Items Value
014 a test1
014 b test2
014 c test3
我的要求是: 如果假设在 RadListBox2
中只有 2 个项目 "a" , "c"
那么 RadGrid
中的数据应根据 RadListBox2 项目和 "SPID"
进行绑定
SPID RadListBox2_Items Value
014 a test1
014 c test3
我希望我把我的要求说清楚了。如果有任何混淆,请告诉我。请对这两点进行回复。
提前致谢。
我认为下面的代码可以满足您的要求
protected void RadListBox2_Inserted(object sender, RadListBoxEventArgs e)
{
ArrayList myTest = new ArrayList();
//StringBuilder s = new StringBuilder();
for (int i = 0; i < e.Items.Count; i++)
{
myTest.Add(e.Items[i].Text);
}
foreach (string x in myTest)
{
lblInsertedList2.Text += x + ", " + " ";
}
}
或者干脆
protected void RadListBox2_Inserted(object sender, RadListBoxEventArgs e)
{
for (int i = 0; i < e.Items.Count; i++)
{
lblInsertedList2.Text += e.Items[i].Text + ", " + " ";
}
}
希望对您有所帮助...
1.) 我正在使用下面的代码将项目从一个 RadListBox
转移到另一个
HTML代码:
A<telerik:RadListBox ID="RadListBox1" runat="server" Width="250px" Height="200px"
TransferMode="Move" AllowTransfer="True" TransferToID="rlbGI_BU" SelectionMode="Multiple"
OnTransferred="RadListBox1_Transferred"
AutoPostBackOnTransfer="true">
</telerik:RadListBox>
B<telerik:RadListBox ID="RadListBox2" runat="server" Width="250px" Height="200px"
EnableEmbeddedSkins="False" Skin="MetroRed" ImagesPath="../App_Themes/MetroRed/ListBox"
OnInserted="RadListBox2_Inserted" SelectionMode="Multiple"
OnDeleted="RadListBox2_Deleted" AutoPostBackOnDelete="true">
</telerik:RadListBox>
<br />
<asp:Label runat="server" ID="lblDeletedList2"></asp:Label>
<asp:Label runat="server" ID="lblInsertedList2"></asp:Label>
<asp:Label runat="server" ID="lblTransdList1"></asp:Label>
C#代码:
private string _SPID = null;
private DataTable _dtSPBU = null;
protected void Page_Load(object sender, EventArgs e)
{
_SPID = Request.QueryString["SPID"];
if (!string.IsNullOrEmpty(_SPID))
{
_dtSPBU = SDM.SPBU.GetSPBUBySPBUfoSPID(_SPID);
}
}
protected void bind_RadListBox1()
{
RadListBox1.DataTextField = "BUName";
RadListBox1.DataValueField = "SPBUfoBUID";
RadListBox1.DataSource = _dtSPBU;
RadListBox1.DataBind();
}
protected void RadListBox2_Inserted(object sender, RadListBoxEventArgs e)
{
ArrayList myTest = new ArrayList();
//StringBuilder s = new StringBuilder();
for (int i = 0; i < e.Items.Count; i++)
{
myTest.Add(rlbGI_BU.Items[i].Text);
foreach (string x in myTest)
{
lblInsertedList2.Text += x + ", " + " ";
}
}
}
protected void RadListBox2_Deleted(object sender, RadListBoxEventArgs e)
{
lblDeletedList2.Text += e.Items.Count.ToString() + " items are deleted";
}
protected void RadListBox1_Transferred(object sender, RadListBoxTransferredEventArgs e)
{
lblTransdList1.Text += e.Items.Count.ToString() + " items are transferred";
}
我想在 Label
控件(例如 lblInsertedList2
标签)中获取从 RadListBox1
到 RadListBox2
的传输项,因为稍后我必须绑定一个 RadGrid
基于 RadListBox2 中的项目。
为此,我创建了 RadListBox2_Inserted
事件,在该事件中我试图在标签中获取 RadListBox2
的项目。
现在,当我将 RadListBox1 的 1 个以上项目传输到 RadListBox2(使用 ctrl 按钮)时,第一个选定的项目将重复。
示例: RadListBox1 有 "a"、"b"、"c" 项。 当我将所有 "a"、"b"、"c" 从 RadListBox1 转移到 RadListBox2(使用 ctrl 按钮)
我看到以下输出:a a b a b c
正确的输出应该是:a b c
请检查以下快照以了解上述问题:
示例: 当我只传输 a 时,我看到以下输出:a(第一次) 当我只传输 b 时,我看到以下输出:a,a(第二次) 当我只传输 c 时,我看到以下输出:a, a, a (3rd time)
请检查以下快照以了解上述问题:
2.) 我想绑定 RadGrid
使用:
- _SPID = Request.QueryString["SPID"]
- 进入 RadListBox2 的项目(仅从 RadListBox1 中选择的项目)
现在我只使用 Request.QueryString["SPID"]
绑定 RadGrid
,所以我得到了与 "SPID"
示例:
SPID RadListBox1_Items Value
014 a test1
014 b test2
014 c test3
我的要求是: 如果假设在 RadListBox2
中只有 2 个项目 "a" , "c"
那么 RadGrid
中的数据应根据 RadListBox2 项目和 "SPID"
SPID RadListBox2_Items Value
014 a test1
014 c test3
我希望我把我的要求说清楚了。如果有任何混淆,请告诉我。请对这两点进行回复。
提前致谢。
我认为下面的代码可以满足您的要求
protected void RadListBox2_Inserted(object sender, RadListBoxEventArgs e)
{
ArrayList myTest = new ArrayList();
//StringBuilder s = new StringBuilder();
for (int i = 0; i < e.Items.Count; i++)
{
myTest.Add(e.Items[i].Text);
}
foreach (string x in myTest)
{
lblInsertedList2.Text += x + ", " + " ";
}
}
或者干脆
protected void RadListBox2_Inserted(object sender, RadListBoxEventArgs e)
{
for (int i = 0; i < e.Items.Count; i++)
{
lblInsertedList2.Text += e.Items[i].Text + ", " + " ";
}
}
希望对您有所帮助...