ورود

View Full Version : datatextfield ها در checkboxlist مختلف باشد



hamid10
جمعه 19 خرداد 1396, 19:00 عصر
با سلام.
با استفاده از checkboxlist میخواهم سرچ پیشرفته ایجاد کنم. sqldatasourse به آن بایند شده و به ازای هر datatextfield چند datavaluefield وجود دارد و میخواهم datatextfield تکراری در checkboxlist وجود نداشته باشد چطور میتوان کد رو نوشت. تشکر

<asp:CheckBoxList ID="CheckBoxList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource1" DataTextField="tcName" DataValueField="randNum" onselectedindexchanged="CheckBoxList1_SelectedIndexChanged"> </asp:CheckBoxList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="" SelectCommand="SELECT tcname,randNum FROM [searchView] where portion=2"></asp:SqlDataSource>

hamid10
شنبه 20 خرداد 1396, 18:45 عصر
رویداد SelectedIndexChanged، چک باکس لیست رو هم به این صورت نوشتم.

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrin gs[""].ConnectionString.Trim());
SqlCommand cmd = new SqlCommand();
String sqlText = "SELECT id,name,randnum FROM searchview ";
String sqlFilterText = "";
int index = 0;
foreach (ListItem item in CheckBoxList1.Items)
{
index += 1;
if (item.Selected)
{
String paramName = "@param" + index.ToString().Trim();
SqlParameter param = new SqlParameter(paramName, SqlDbType.UniqueIdentifier);
param.Value = new Guid(item.Value.Trim());
cmd.Parameters.Add(param);


sqlFilterText += " randNum = " + paramName + " or ";
}
}


if (!String.IsNullOrEmpty(sqlFilterText))
{
sqlText += " Where portion=2 and " + sqlFilterText.Substring(0, sqlFilterText.Length - 3);
}
cmd.CommandText = sqlText;
cmd.Connection = cnn;
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable tbl = new DataTable();
adapter.Fill(tbl);
DataList1.DataSource = tbl;
DataList1.DataBind();

}
و به ازای هر فیلد randnum، که از نوع guid است چند tcname وجود دارد به این دلیل در قسمت تکست های چک باکس لیست فیلدهای تکراری وجود دارد.من میخواهم در چک باکس لیست فیلد تکراری نباشد.اساتید خواهشا کمک کنید

hamid10
دوشنبه 22 خرداد 1396, 12:04 عصر
مشکلم حل شد