PDA

View Full Version : تفکیک دو قسمت از ایتم های خوانده شده از دیتابیس و نمایش فقط یک قسمت در listbox



saeedhushmand
شنبه 10 تیر 1391, 15:15 عصر
دوستان اطلاعاتی که من از دیتابیسم می خونم و توی listbox می ریزم به صورت زیر است
مثال: (سعید)saeed
چه جوری می تونم اطلاعاتی که توی listbox می ریزم و نمایش داده می شه فقط قسمت فارسی اطلاعات باشه منظورم اینکه اطلاعاتی که توی listbox می ریزه ،برای مثال در بالا فقط سعید در listbox نمایش داده بشه، و قسمت انگلیسی اون نمایش داده نشه


listBox1.Items.Clear();
string con = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Name.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
using (SqlConnection ce = newSqlConnection(con))
{
SqlCommand cmd;
SqlDataAdapter sda = newSqlDataAdapter("select * from Name where Namelike N'%" + textBox3.Text + "%'", ce);
DataTable dt = newDataTable("Name");
sda.Fill(dt);
dt.AcceptChanges();
foreach (DataRow column in dt.Rows)
{
listBox1.Items.Add(column.ItemArray[0]);
}
ce.Close();
}

saeedhushmand
شنبه 10 تیر 1391, 18:08 عصر
دوستان کمک کنید

majidrezaei2007
شنبه 10 تیر 1391, 18:35 عصر
بهتره که جدولت رو نرمال کنی و دو قسمت فارسی و انگلیسی رو جدا کنی . اما اگه برات مقدور نیست ، می تونی از پردازش رشته ساده برای این کار استفاده کنی .
اونم برات نوشتم به این شکل . خودت می تونی بهینه ترش کنی . این کار راه اندازیه . به این صورت که یک متد تعریف می کنی به این شکل :

public string Remove_NotPersian(string input, ref string P)
{
string R = "";
string c = "";
for (int i = 0; i < input.Length; i++)
{
c = input.Substring(i, 1);
if (c != "آ" && c != "ا" && c != "ب" && (baghie horoofe farsi) && c != "ی" && c != " ")
{
R = input.Substring(i + 1);
break;
}
else
{
P = P + c;
}
}
return R;
}

بعد توی برنامه اصلی اینطوری ازش استفاده می کنی :

string s = textBox1.Text;
string PersianText = "";
while (s != "")
{
s = Remove_NotPersian(s, ref PersianText);
}
textBox2.Text = PersianText;

این بخش های فارسی یک متنو برای جدا می کنه
موفق باشی