PDA

View Full Version : اتصال treeview به بانک اطلاعاتی



dehghanimeh
چهارشنبه 30 مرداد 1387, 12:46 عصر
با سلام
من می خواستم یک ساختار درختی را در اختیار کاربر بگذارم که بتواند عمق تقریباً نامحدود ایجاد کرده و تغییرات نیز در مکانی ذخیره شود مثل یک جدول که شامل دو فیلد اصلی کد پدر و کد فرزند باشه .
آیا چنین ارتباطی با کد نویسی کم وجود داره؟
فکر کنم داخل مجموعه componentone چیزی باشه آیا تا حالا کسی کار کرده.

dehghanimeh
جمعه 01 شهریور 1387, 08:17 صبح
دوستان عزيز كمك:گریه:

مهرداد تاجدینی
جمعه 01 شهریور 1387, 08:29 صبح
دوست عزیز گریه نکن! چقدر با XML آشنا هستی ؟ به راحتی می تونی ساختار درختیت رو به صورت یک فایل XML ذخیره کنی, XML برا اینجور کارا یک استاندارده ایده اله. اینم دقیقا سورس همون چیزی که میخای:
http://www.codeproject.com/KB/cpp/TreeView_Serializer.aspx

linux
جمعه 01 شهریور 1387, 09:57 صبح
با سلام
من می خواستم یک ساختار درختی را در اختیار کاربر بگذارم که بتواند عمق تقریباً نامحدود ایجاد کرده و تغییرات نیز در مکانی ذخیره شود مثل یک جدول که شامل دو فیلد اصلی کد پدر و کد فرزند باشه .
آیا چنین ارتباطی با کد نویسی کم وجود داره؟
فکر کنم داخل مجموعه componentone چیزی باشه آیا تا حالا کسی کار کرده.
با 4 خط کد نویسی مشکل شما حل می شود ، حالا می خواهید این کار با sql انجام بدهید یا با xml ؟

dehghanimeh
جمعه 01 شهریور 1387, 14:12 عصر
دوست عزيز دستت درد نكنه
ولي حتما بايد تو جدول ذخيره بشه چون نياز به جوين جداول دارم.
تقريبا چنين چيزي ولي با كد كمتر.

http://www.codeproject.com/KB/aspnet/FillTreeView.aspx

تو مجموعه componentone يه چيزايي هست آيا كسي كار كرده.

water_lily_2012
چهارشنبه 31 شهریور 1389, 05:44 صبح
من هم همین مشکل را دارم اگر تعداد
Node
خیلی زیاد باشه فایل مثلا چند هزار و حسابی هم تو در تو باشه
XML
چی می شه.

Mohandes2009
چهارشنبه 31 شهریور 1389, 12:36 عصر
هر نود و ساب نود را می تونی در خود sql ذخیره کنی و باز از sql بخونی و بریزی به تری ویو و یا در هر جای دیگه که می خوای ذخیره کنی!

به همان ترتیبی که اضافه میکنی ذخیره هم بکن!

sogand_arash
پنج شنبه 01 مهر 1389, 22:07 عصر
private void btnSample1_Click(object sender, EventArgs e)
{
///Windows authentication
string strConnectionString = @"Data Source=VALUED-E5B4876A\MSSMLBIZ;Initial Catalog=PhoneBook;Integrated Security=True";

/////SQL authentication
//string strConnectionString = @"Password=123456;Persist Security Info=True;User ID=admin;
//Initial Catalog=Arash;Data Source=.\SQLEXPRESS";



string strQuery = "SELECT LastName, FirstName, PhoneNumber FROM Table1";


System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection
(strConnectionString);
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand();
System.Data.SqlClient.SqlDataReader reader = null;

command.CommandText = strQuery;
command.CommandType = CommandType.Text;
command.Connection = connection;

lvwContacts.Items.Clear();

try
{
connection.Open();
reader = command.ExecuteReader();

while (reader.Read())
{
string strFirstName = reader[0].ToString();
string strLastName = reader[1].ToString();
string strPhoneNumner = reader[2].ToString();

ListViewItem item = new ListViewItem(strFirstName);
item.SubItems.Add(strLastName);
item.SubItems.Add(strPhoneNumner);

lvwContacts.Items.Add(item);
}
}
catch (System.Data.SqlClient.SqlException sqlEx)
{
MessageBox.Show(sqlEx.Message);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (reader != null)
{
if (!reader.IsClosed)
reader.Close();

reader.Dispose();
}

command.Dispose();

if (connection.State != System.Data.ConnectionState.Closed)
connection.Close();

connection.Dispose();
}
}